订单列表对接
This commit is contained in:
parent
d05ad47b8d
commit
b921bcaa07
11
src/api/share.ts
Normal file
11
src/api/share.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { useRequest } from "@/use/useHttp"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分享短码
|
||||||
|
*/
|
||||||
|
export const GetShortCodeApi = () => {
|
||||||
|
return useRequest({
|
||||||
|
url: `/v1/mall/shortCode/add`,
|
||||||
|
method: "post",
|
||||||
|
})
|
||||||
|
}
|
12
src/app.tsx
12
src/app.tsx
@ -4,9 +4,21 @@ import { Provider } from 'react-redux'
|
|||||||
import configStore from './store'
|
import configStore from './store'
|
||||||
|
|
||||||
import './app.scss'
|
import './app.scss'
|
||||||
|
import { useShareAppMessage } from '@tarojs/taro'
|
||||||
|
import { useSelector } from './reducers/hooks'
|
||||||
|
|
||||||
const store = configStore()
|
const store = configStore()
|
||||||
const App:FC = ({children}) => {
|
const App:FC = ({children}) => {
|
||||||
|
//转发分享
|
||||||
|
// const userObj = useSelector(state => state.userInfo)
|
||||||
|
useShareAppMessage(res => {
|
||||||
|
return {
|
||||||
|
title: '电子商城',
|
||||||
|
path: `/pages/details/index`,
|
||||||
|
imageUrl:'',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ContextBlueTooth>
|
<ContextBlueTooth>
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
// 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.30:40001/lymarket` // 发
|
// export const BASE_URL = `http://192.168.1.30:40001/lymarket` // 发
|
||||||
// export const BASE_URL = `https://dev.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 = `https://www.zzfzyc.com/lymarket` // 正式环境
|
||||||
// export const BASE_URL = `http://192.168.1.4:40001/lymarket` // 王霞
|
// export const BASE_URL = `http://192.168.1.4:40001/lymarket` // 王霞
|
||||||
// export const BASE_URL = `http://192.168.1.224:50002/lymarket` // 添
|
export const BASE_URL = `http://192.168.1.224:50001/lymarket` // 添
|
||||||
// export const BASE_URL = `http://192.168.1.15:50001/lymarket` // 杰
|
// export const BASE_URL = `http://192.168.1.15:50001/lymarket` // 杰
|
||||||
|
|
||||||
// CDN
|
// CDN
|
||||||
|
@ -11,4 +11,19 @@ export const ORDER_STATUS = {
|
|||||||
SaleOrderStatusComplete : {value:4, label:'已完成'}, // 已完成
|
SaleOrderStatusComplete : {value:4, label:'已完成'}, // 已完成
|
||||||
SaleOrderStatusRefund : {value:6, label:'已退款'}, // 已退款
|
SaleOrderStatusRefund : {value:6, label:'已退款'}, // 已退款
|
||||||
SaleOrderStatusCancel : {value:5, label:'已取消'}, // 已取消
|
SaleOrderStatusCancel : {value:5, label:'已取消'}, // 已取消
|
||||||
|
}
|
||||||
|
|
||||||
|
//支付方式
|
||||||
|
export const PAYMENT_METHOD = {
|
||||||
|
PaymentMethodPreDeposit: {value:1, label:'预存款'},
|
||||||
|
PaymentMethodAccountPeriod : {value:2, label:'账期'},
|
||||||
|
PaymentMethodofflineRemittance: {value:3, label:'线下汇款'},
|
||||||
|
PaymentMethodScanCodeToPay: {value:4, label:'扫码支付'},
|
||||||
|
PaymentMethodCashOnDelivery: {value:5, label:'货到付款'},
|
||||||
|
}
|
||||||
|
|
||||||
|
//分享场景枚举
|
||||||
|
export const SHARE_SCENE = {
|
||||||
|
ShareDetail: {value:1, label:'详情分享'},
|
||||||
|
SharePage : {value:2, label:'页面分享'},
|
||||||
}
|
}
|
@ -70,7 +70,6 @@ export default memo(({orderInfo, onClick}:Param) => {
|
|||||||
//判断是否显示该按钮
|
//判断是否显示该按钮
|
||||||
const orderBtnsShow = useCallback((item) => {
|
const orderBtnsShow = useCallback((item) => {
|
||||||
if(orderInfo) {
|
if(orderInfo) {
|
||||||
// console.log('orderInfo::',item.value.includes(orderInfo.status))
|
|
||||||
if(item.id == 1) {
|
if(item.id == 1) {
|
||||||
//取消订单按钮
|
//取消订单按钮
|
||||||
return( orderInfo.actual_amount == 0 && item.value.includes(orderInfo.status)) //在代发货之前没有付过款
|
return( orderInfo.actual_amount == 0 && item.value.includes(orderInfo.status)) //在代发货之前没有付过款
|
||||||
|
@ -224,7 +224,7 @@ export default ({show = false, onClose}: param) => {
|
|||||||
</View>
|
</View>
|
||||||
<View className={styles.con}>
|
<View className={styles.con}>
|
||||||
{loading&&<LoadingCard/>}
|
{loading&&<LoadingCard/>}
|
||||||
{!loading&&list?.length > 0&&<InfiniteScroll moreStatus={false} >
|
{!loading&&list?.length > 0&&<InfiniteScroll moreStatus={false} >
|
||||||
<View className={styles.product_list}>
|
<View className={styles.product_list}>
|
||||||
{list?.map((item, index) => {
|
{list?.map((item, index) => {
|
||||||
return <View key={index} className={classnames(styles.product_item, (selectIndex!=-1&&selectIndex!= item.sale_mode)&&styles.no_product_item_select)}>
|
return <View key={index} className={classnames(styles.product_item, (selectIndex!=-1&&selectIndex!= item.sale_mode)&&styles.no_product_item_select)}>
|
||||||
|
@ -2,7 +2,9 @@ export const SET_USERINFO = 'setUserInfo'
|
|||||||
export const SET_ADMINUSERINFO = 'setAdminUserInfo'
|
export const SET_ADMINUSERINFO = 'setAdminUserInfo'
|
||||||
export const SET_TOKEN = 'setToken'
|
export const SET_TOKEN = 'setToken'
|
||||||
export const SET_SESSIONKEY = 'setSessionkey'
|
export const SET_SESSIONKEY = 'setSessionkey'
|
||||||
|
export const SET_SORTCODE = 'setSortCode'
|
||||||
export const CLEAR_TOKEN = 'clearToken'
|
export const CLEAR_TOKEN = 'clearToken'
|
||||||
export const CLEAR_SESSIONKEY = 'clearSessionkey'
|
export const CLEAR_SESSIONKEY = 'clearSessionkey'
|
||||||
export const CLEAR_USERINFO = 'clearUserInfo'
|
export const CLEAR_USERINFO = 'clearUserInfo'
|
||||||
export const CLEAR_ADMINUSERINFO = 'clearAdminUserInfo'
|
export const CLEAR_ADMINUSERINFO = 'clearAdminUserInfo'
|
||||||
|
export const CLEAR_SORTCODE = 'clearSortCode'
|
@ -4,12 +4,11 @@ import { useMemo, useRef, useState } from "react"
|
|||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
|
|
||||||
type item = {title:string, img:string, url:string, id:number}
|
type item = {title:string, img:string, url:string, id:number}
|
||||||
|
|
||||||
type params = {
|
type params = {
|
||||||
list?: item[]
|
list?: item[]
|
||||||
}
|
}
|
||||||
|
|
||||||
export default ({list = []}: params) => {
|
export default ({list = []}: params) => {
|
||||||
|
|
||||||
const [pageIndex, setPageIndex] = useState(1)
|
const [pageIndex, setPageIndex] = useState(1)
|
||||||
const pageRef = useRef<any>(null)
|
const pageRef = useRef<any>(null)
|
||||||
|
|
||||||
@ -26,13 +25,13 @@ export default ({list = []}: params) => {
|
|||||||
<Swiper className={styles.swiper_item} circular={true} onAnimationFinish={(e) => swiperChange(e)}>
|
<Swiper className={styles.swiper_item} circular={true} onAnimationFinish={(e) => swiperChange(e)}>
|
||||||
{list.map((item) => {
|
{list.map((item) => {
|
||||||
return <SwiperItem key={item.id}>
|
return <SwiperItem key={item.id}>
|
||||||
<View className={styles.image_item} >
|
<View className={styles.image_item} >
|
||||||
<Image mode="aspectFill" src={formatImgUrl(item)}></Image>
|
<Image mode="aspectFill" src={formatImgUrl(item)}></Image>
|
||||||
</View>
|
</View>
|
||||||
</SwiperItem>
|
</SwiperItem>
|
||||||
})}
|
})}
|
||||||
</Swiper>
|
</Swiper>
|
||||||
<View className={styles.page} ref={pageRef}>{pageIndex+'/'+pageCount}</View>
|
{(list.length > 0)&&<View className={styles.page} ref={pageRef}>{pageIndex+'/'+pageCount}</View>}
|
||||||
</View>
|
</View>
|
||||||
)
|
)
|
||||||
}
|
}
|
@ -1,5 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
navigationBarTitleText: '详情',
|
navigationBarTitleText: '详情',
|
||||||
enablePullDownRefresh: true,
|
enablePullDownRefresh: true,
|
||||||
backgroundTextStyle: 'dark'
|
backgroundTextStyle: 'dark',
|
||||||
|
enableShareAppMessage: true
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
import { Button, CustomWrapper, Image, RichText, ScrollView, Swiper, SwiperItem, Text, View } from '@tarojs/components'
|
import { Button, CustomWrapper, Image, RichText, Text, View } from '@tarojs/components'
|
||||||
import Taro, { useDidShow, usePullDownRefresh, useRouter, useShareAppMessage } from '@tarojs/taro';
|
import Taro, { useDidShow, usePullDownRefresh, useRouter, useShareAppMessage } from '@tarojs/taro';
|
||||||
import classnames from "classnames";
|
import classnames from "classnames";
|
||||||
import DesSwiper from './components/swiper';
|
import DesSwiper from './components/swiper';
|
||||||
@ -7,13 +7,11 @@ import OrderCount from './components/orderCount';
|
|||||||
import ShopCart from '@/components/shopCart';
|
import ShopCart from '@/components/shopCart';
|
||||||
import Preview,{colorItem} from './components/preview';
|
import Preview,{colorItem} from './components/preview';
|
||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
import { useEffect, useMemo, useState } from 'react';
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
||||||
import {formatHashTag, formatImgUrl} from '@/common/fotmat'
|
import {formatHashTag, formatImgUrl} from '@/common/fotmat'
|
||||||
import useManualPullDownRefresh from '@/use/useManualPullDownRefresh';
|
|
||||||
import { goLink } from '@/common/common';
|
|
||||||
import useUserInfo from '@/use/useUserInfo';
|
|
||||||
import {GetProductDetailApi} from '@/api/material'
|
import {GetProductDetailApi} from '@/api/material'
|
||||||
import useLogin from '@/use/useLogin';
|
import useLogin from '@/use/useLogin';
|
||||||
|
import { useSelector } from '@/reducers/hooks';
|
||||||
|
|
||||||
type item = {title:string, img:string, url:string, id:number}
|
type item = {title:string, img:string, url:string, id:number}
|
||||||
|
|
||||||
@ -49,14 +47,12 @@ export default (props:params) => {
|
|||||||
},[productInfo])
|
},[productInfo])
|
||||||
|
|
||||||
const [showCart, setShowCart] = useState(false)
|
const [showCart, setShowCart] = useState(false)
|
||||||
|
|
||||||
const [showOrderCount, setShowOrderCount] = useState(false)
|
const [showOrderCount, setShowOrderCount] = useState(false)
|
||||||
|
|
||||||
const html = `
|
const html = `
|
||||||
<img style="width:100%" src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic24.nipic.com%2F20121021%2F10910884_100200815001_2.jpg&refer=http%3A%2F%2Fpic24.nipic.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1652257920&t=9353dda34f18ae2fe6803f3da35954bb">
|
<img style="width:100%" src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic24.nipic.com%2F20121021%2F10910884_100200815001_2.jpg&refer=http%3A%2F%2Fpic24.nipic.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1652257920&t=9353dda34f18ae2fe6803f3da35954bb">
|
||||||
`
|
`
|
||||||
|
|
||||||
|
//弹窗提示
|
||||||
const [colorInfo, setColorInfo] = useState<colorItem>()
|
const [colorInfo, setColorInfo] = useState<colorItem>()
|
||||||
const [showPreview, setShowPreview] = useState(false)
|
const [showPreview, setShowPreview] = useState(false)
|
||||||
const getColorItem = (item) => {
|
const getColorItem = (item) => {
|
||||||
@ -67,6 +63,7 @@ export default (props:params) => {
|
|||||||
setShowPreview(true)
|
setShowPreview(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//收藏功能
|
||||||
const [collectStatus, setCollectStatus] = useState(false)
|
const [collectStatus, setCollectStatus] = useState(false)
|
||||||
const changeCollect = () => {
|
const changeCollect = () => {
|
||||||
setCollectStatus(!collectStatus)
|
setCollectStatus(!collectStatus)
|
||||||
@ -77,18 +74,26 @@ export default (props:params) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//转发分享
|
||||||
|
const userObj = useSelector(state => state.userInfo)
|
||||||
useShareAppMessage(res => {
|
useShareAppMessage(res => {
|
||||||
|
let path = ''
|
||||||
|
let title = ''
|
||||||
|
let imageUrl = ''
|
||||||
if (res.from === 'button') {
|
if (res.from === 'button') {
|
||||||
// 来自页面内转发按钮
|
path = `/pages/details/index?id=${userObj.sort_code.shareShortDetail}`
|
||||||
console.log(res.target)
|
title = productName as string
|
||||||
|
// imageUrl =
|
||||||
|
} else {
|
||||||
|
path = `/pages/details/index?id=${userObj.sort_code.shareShortPage}`
|
||||||
|
title = '陆盈电子商城'
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
title: '自定义转发标题',
|
title,
|
||||||
path: '/pages/details/index?id=10',
|
path,
|
||||||
imageUrl: ''
|
imageUrl,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
//开始下单
|
//开始下单
|
||||||
const placeOrder = async (e:any) => {
|
const placeOrder = async (e:any) => {
|
||||||
@ -108,7 +113,6 @@ export default (props:params) => {
|
|||||||
//页面下拉刷新
|
//页面下拉刷新
|
||||||
usePullDownRefresh(() => {
|
usePullDownRefresh(() => {
|
||||||
getProductDetail()
|
getProductDetail()
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
@ -123,13 +127,11 @@ export default (props:params) => {
|
|||||||
<View className={styles.share}>
|
<View className={styles.share}>
|
||||||
<View className={classnames('iconfont icon-fenxiang', styles.miconfont)}></View>
|
<View className={classnames('iconfont icon-fenxiang', styles.miconfont)}></View>
|
||||||
<View className={styles.text}>分享</View>
|
<View className={styles.text}>分享</View>
|
||||||
|
|
||||||
<Button open-type="share" className={styles.shareBtn}></Button>
|
<Button open-type="share" className={styles.shareBtn}></Button>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.collect}>
|
<View className={styles.collect}>
|
||||||
<View className={classnames('iconfont icon-shoucang', styles.miconfont, collectStatus&&styles.collected)} onClick={() => changeCollect()}></View>
|
<View className={classnames('iconfont icon-shoucang', styles.miconfont, collectStatus&&styles.collected)} onClick={() => changeCollect()}></View>
|
||||||
<View className={styles.text}>收藏</View>
|
<View className={styles.text}>收藏</View>
|
||||||
|
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.des_data}>
|
<View className={styles.des_data}>
|
||||||
|
@ -96,7 +96,7 @@ export default () => {
|
|||||||
//数据加载状态
|
//数据加载状态
|
||||||
const statusMore = useMemo(() => {
|
const statusMore = useMemo(() => {
|
||||||
return dataLoadingStatus({list:productData.list, total: productData.total, status: productState.loading})
|
return dataLoadingStatus({list:productData.list, total: productData.total, status: productState.loading})
|
||||||
}, [productData])
|
}, [productData, productState.loading])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<MoveBtn onClick={() => setShowShopCart(!showShopCart)}>
|
<MoveBtn onClick={() => setShowShopCart(!showShopCart)}>
|
||||||
|
@ -163,7 +163,7 @@ import SubmitOrderBtn from "./components/submitOrderBtn";
|
|||||||
<View className={styles.order_main}>
|
<View className={styles.order_main}>
|
||||||
<ShipmentMode onSelect={selectShipmentMode}/>
|
<ShipmentMode onSelect={selectShipmentMode}/>
|
||||||
<AddressInfo onSelect={(e) => getAddress(e)} defaultValue={defaultAddress}/>
|
<AddressInfo onSelect={(e) => getAddress(e)} defaultValue={defaultAddress}/>
|
||||||
<KindList value={formatPreViewOrderMemo}/>
|
<KindList order={formatPreViewOrderMemo} comfirm={true}/>
|
||||||
<View className={styles.order_desc} onClick={() => setShowDesc(true)}>
|
<View className={styles.order_desc} onClick={() => setShowDesc(true)}>
|
||||||
<View className={styles.order_desc_con}>订单备注</View>
|
<View className={styles.order_desc_con}>订单备注</View>
|
||||||
{
|
{
|
||||||
|
@ -22,21 +22,26 @@ type OrderParam = {
|
|||||||
actual_amount: number //实付金额
|
actual_amount: number //实付金额
|
||||||
}
|
}
|
||||||
|
|
||||||
export default memo(({value}:{value:OrderParam}) => {
|
type Param = {
|
||||||
|
order: OrderParam,
|
||||||
|
comfirm?: boolean //是否是确认订单页面使用
|
||||||
|
}
|
||||||
|
|
||||||
|
export default memo(({order, comfirm = false}:Param) => {
|
||||||
//对应数量
|
//对应数量
|
||||||
const formatCount = useCallback((item) => {
|
const formatCount = useCallback((item) => {
|
||||||
return value?.sale_mode == 0? item.roll : Number(item.length / 100)
|
return order?.sale_mode == 0? item.roll : Number(item.length / 100)
|
||||||
}, [value])
|
}, [order])
|
||||||
//对应单价
|
//对应单价
|
||||||
const standardPrice = useCallback(price => {
|
const standardPrice = useCallback(price => {
|
||||||
return formatPriceDiv(price).toLocaleString() + '/' + (value?.sale_mode == 1?'m':'kg')
|
return formatPriceDiv(price).toLocaleString() + '/' + (order?.sale_mode == 1?'m':'kg')
|
||||||
}, [value])
|
}, [order])
|
||||||
|
|
||||||
//数量格式
|
//数量格式
|
||||||
const numText = useMemo(() => {
|
const numText = useMemo(() => {
|
||||||
if(value)
|
if(order)
|
||||||
return `${value?.total_fabrics}种面料,${value?.total_colors}种颜色,共${value?.total_number}${value?.unit}`
|
return `${order?.total_fabrics}种面料,${order?.total_colors}种颜色,共${order?.total_number}${order?.unit}`
|
||||||
}, [value])
|
}, [order])
|
||||||
|
|
||||||
const {
|
const {
|
||||||
SaleOrderStatusBooking, // 待接单
|
SaleOrderStatusBooking, // 待接单
|
||||||
@ -56,68 +61,79 @@ export default memo(({value}:{value:OrderParam}) => {
|
|||||||
{
|
{
|
||||||
id:1,
|
id:1,
|
||||||
value:[SaleOrderStatusBooking.value, SaleOrderStatusArranging.value],
|
value:[SaleOrderStatusBooking.value, SaleOrderStatusArranging.value],
|
||||||
label:'预估金额'
|
label:'预估金额',
|
||||||
|
field: 'estimate_amount'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id:2,
|
id:2,
|
||||||
value:[SaleOrderStatusArranged.value, SaleOrderStatusWaitingPayment.value, SaleOrderStatusWaitingDelivery.value, SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value, SaleOrderStatusCancel.value],
|
value:[SaleOrderStatusArranged.value, SaleOrderStatusWaitingPayment.value, SaleOrderStatusWaitingDelivery.value, SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value, SaleOrderStatusCancel.value],
|
||||||
label:'合计金额'
|
label:'合计金额',
|
||||||
|
field: 'total_sale_price'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id:3,
|
id:3,
|
||||||
value:[SaleOrderStatusArranged.value, SaleOrderStatusWaitingPayment.value, SaleOrderStatusWaitingDelivery.value, SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value, SaleOrderStatusCancel.value],
|
value:[SaleOrderStatusWaitingPayment.value, SaleOrderStatusWaitingDelivery.value, SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value, SaleOrderStatusCancel.value],
|
||||||
label:'空差优惠'
|
label:'空差优惠',
|
||||||
|
field: 'total_weight_error_discount'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id:4,
|
id:4,
|
||||||
value:[ SaleOrderStatusWaitingPayment.value],
|
value:[ SaleOrderStatusWaitingPayment.value],
|
||||||
label:'应付金额'
|
label:'应付金额',
|
||||||
|
field: 'total_should_collect_money'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id:5,
|
id:5,
|
||||||
value:[SaleOrderStatusWaitingDelivery.value, SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value, SaleOrderStatusCancel.value],
|
value:[SaleOrderStatusWaitingDelivery.value, SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value, SaleOrderStatusCancel.value],
|
||||||
label:'实付金额'
|
label:'实付金额',
|
||||||
|
field: 'actual_amount'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
//是否显示价格
|
||||||
|
const showPrice = useCallback((priceInfo, status) => {
|
||||||
|
return priceInfo.value.includes(status)
|
||||||
|
}, [order])
|
||||||
|
|
||||||
const priceConDom = useMemo(() => {
|
const priceConDom = useMemo(() => {
|
||||||
if(!value) return
|
if(!order) return
|
||||||
console.log('value:::', value)
|
//确认订单
|
||||||
|
if(comfirm == true) {
|
||||||
|
return <EstimatedAmount number={formatPriceDiv(order.estimate_amount)} title="预估金额" />
|
||||||
|
}
|
||||||
//订单为取消订单状态
|
//订单为取消订单状态
|
||||||
if(value?.status == 9) {
|
if(order?.status == SaleOrderStatusCancel.value) {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{(priceList[1].value.includes(value?.the_previous_status))&&<EstimatedAmount number={formatPriceDiv(value?.estimate_amount)} title="预估金额" />}
|
{
|
||||||
{(priceList[2].value.includes(value?.the_previous_status))&&<EstimatedAmount number={formatPriceDiv(value?.total_sale_price)} titleStatus={false} numberStatus={0} title="合计金额" />}
|
priceList.map(item => {
|
||||||
{(priceList[3].value.includes(value?.the_previous_status))&&<EstimatedAmount number={formatPriceDiv(value?.total_weight_error_discount)} titleStatus={false} numberStatus={0} title="空差优惠" />}
|
return <>{showPrice(item, order?.the_previous_status)&&<EstimatedAmount key={item.id} number={formatPriceDiv(order[item.field])} title={item.label} />}</>
|
||||||
{(priceList[4].value.includes(value?.the_previous_status))&&<EstimatedAmount number={formatPriceDiv(value?.total_should_collect_money)} title="应付金额" />}
|
})
|
||||||
{/* {(priceList[5].value.includes(value?.the_previous_status))&&<EstimatedAmount number={formatPriceDiv(value?.actual_amount)} title="实付金额" />} */}
|
}
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{(priceList[1].value.includes(value?.status))&&<EstimatedAmount number={formatPriceDiv(value?.estimate_amount)} title="预估金额" />}
|
{
|
||||||
{(priceList[2].value.includes(value?.status))&&<EstimatedAmount number={formatPriceDiv(value?.total_sale_price)} titleStatus={false} numberStatus={0} title="合计金额" />}
|
priceList.map(item => {
|
||||||
{(priceList[3].value.includes(value?.status))&&<EstimatedAmount number={formatPriceDiv(value?.total_weight_error_discount)} titleStatus={false} numberStatus={0} title="空差优惠" />}
|
return <>{showPrice(item, order?.status)&&<EstimatedAmount key={item.id} number={formatPriceDiv(order[item.field])} title={item.label} />}</>
|
||||||
{(priceList[4].value.includes(value?.status))&&<EstimatedAmount number={formatPriceDiv(value?.total_should_collect_money)} title="应付金额" />}
|
})
|
||||||
{/* {(priceList[5].value.includes(value?.status))&&<EstimatedAmount number={formatPriceDiv(value?.actual_amount)} title="实付金额" />} */}
|
}
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}, [order])
|
||||||
|
|
||||||
}, [value])
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<View className={styles.orders_list_title}>{numText}</View>
|
<View className={styles.orders_list_title}>{numText}</View>
|
||||||
<View className={styles.orders_list_con}>
|
<View className={styles.orders_list_con}>
|
||||||
{
|
{
|
||||||
value?.list?.map(item => {
|
order?.list?.map(item => {
|
||||||
return <View key={item.product_code} className={styles.order_list}>
|
return <View key={item.product_code} className={styles.order_list}>
|
||||||
<View className={styles.order_list_title}>
|
<View className={styles.order_list_title}>
|
||||||
<View className={styles.tag}>{value.sale_mode_name}</View>
|
<View className={styles.tag}>{order.sale_mode_name}</View>
|
||||||
<View className={styles.title}>{formatHashTag(item.code, item.name)}</View>
|
<View className={styles.title}>{formatHashTag(item.code, item.name)}</View>
|
||||||
<View className={styles.num}>共{item?.product_colors.length}种</View>
|
<View className={styles.num}>共{item?.product_colors.length}种</View>
|
||||||
</View>
|
</View>
|
||||||
@ -131,7 +147,7 @@ export default memo(({value}:{value:OrderParam}) => {
|
|||||||
<View className={styles.order_list_item_price}>¥{standardPrice(colorItem.sale_price)}</View>
|
<View className={styles.order_list_item_price}>¥{standardPrice(colorItem.sale_price)}</View>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.order_list_item_count}>
|
<View className={styles.order_list_item_count}>
|
||||||
<View className={styles.count_num}>×{formatCount(colorItem)}<text>{value.unit}</text></View>
|
<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 className={styles.count_price}><text>¥</text>{formatPriceDiv(colorItem.estimate_amount).toLocaleString()}</View>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Text, View } from "@tarojs/components";
|
import { Text, View } from "@tarojs/components";
|
||||||
import { memo, useEffect, useMemo, useState } from "react";
|
import { memo, useCallback, useEffect, useMemo, useState } from "react";
|
||||||
import AmountShow from "../amountShow";
|
import AmountShow from "../amountShow";
|
||||||
import classnames from "classnames";
|
import classnames from "classnames";
|
||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
@ -11,6 +11,7 @@ import ScanPay from "../scanPay";
|
|||||||
import { GetOrderPayApi, SubmitOrderPayApi } from "@/api/orderPay";
|
import { GetOrderPayApi, SubmitOrderPayApi } from "@/api/orderPay";
|
||||||
import { formatPriceDiv } from "@/common/fotmat";
|
import { formatPriceDiv } from "@/common/fotmat";
|
||||||
import {alert} from "@/common/common"
|
import {alert} from "@/common/common"
|
||||||
|
import { PAYMENT_METHOD } from "@/common/enum";
|
||||||
|
|
||||||
type Param = {
|
type Param = {
|
||||||
show?: true|false,
|
show?: true|false,
|
||||||
@ -61,9 +62,10 @@ export default memo(({show = false, onClose, orderId = 0, onSubmitSuccess}:Param
|
|||||||
}, [show, orderId])
|
}, [show, orderId])
|
||||||
|
|
||||||
//预存款选择
|
//预存款选择
|
||||||
const advanceSelectData = (val) => {
|
const advanceSelectData = useCallback((val) => {
|
||||||
setSubmitData((e) => ({...e, payment_method:val}))
|
setSubmitData((e) => ({...e, payment_method:val}))
|
||||||
}
|
}, [])
|
||||||
|
|
||||||
//账期选择
|
//账期选择
|
||||||
const periodSelectData = (val) => {
|
const periodSelectData = (val) => {
|
||||||
setSubmitData((e) => ({...e, payment_method:val}))
|
setSubmitData((e) => ({...e, payment_method:val}))
|
||||||
@ -93,6 +95,9 @@ export default memo(({show = false, onClose, orderId = 0, onSubmitSuccess}:Param
|
|||||||
)
|
)
|
||||||
}, [payInfo])
|
}, [payInfo])
|
||||||
|
|
||||||
|
//支付方式枚举
|
||||||
|
const {PaymentMethodPreDeposit, PaymentMethodAccountPeriod} = PAYMENT_METHOD
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View className={styles.payment_main}>
|
<View className={styles.payment_main}>
|
||||||
<Popup show={show} showTitle={false} onClose={onClose} >
|
<Popup show={show} showTitle={false} onClose={onClose} >
|
||||||
@ -126,7 +131,7 @@ export default memo(({show = false, onClose, orderId = 0, onSubmitSuccess}:Param
|
|||||||
</View>
|
</View>
|
||||||
{advance_payment}
|
{advance_payment}
|
||||||
</View>
|
</View>
|
||||||
<MCheckbox status={submitData.payment_method == 1} onSelect={() => advanceSelectData(0)} onClose={() => advanceSelectData(null)}/>
|
<MCheckbox status={submitData.payment_method == PaymentMethodPreDeposit.value} onSelect={() => advanceSelectData(PaymentMethodPreDeposit.value)} onClose={() => advanceSelectData(null)}/>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.payment_list_item}>
|
<View className={styles.payment_list_item}>
|
||||||
<View className={styles.payment_list_item_left}>
|
<View className={styles.payment_list_item_left}>
|
||||||
@ -136,7 +141,7 @@ export default memo(({show = false, onClose, orderId = 0, onSubmitSuccess}:Param
|
|||||||
</View>
|
</View>
|
||||||
<View className={styles.payment_list_item_left_price}>可用额度 ¥{payInfo?.account_period_credit_available_line}</View>
|
<View className={styles.payment_list_item_left_price}>可用额度 ¥{payInfo?.account_period_credit_available_line}</View>
|
||||||
</View>
|
</View>
|
||||||
<MCheckbox status={submitData.payment_method == 2} onSelect={() => periodSelectData(1)} onClose={() => periodSelectData(null)}/>
|
<MCheckbox status={submitData.payment_method == PaymentMethodAccountPeriod.value} onSelect={() => periodSelectData(PaymentMethodAccountPeriod.value)} onClose={() => periodSelectData(null)}/>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.payment_list_item} onClick={onShowOfflinePay}>
|
<View className={styles.payment_list_item} onClick={onShowOfflinePay}>
|
||||||
<View className={styles.payment_list_item_left}>
|
<View className={styles.payment_list_item_left}>
|
||||||
|
@ -5,6 +5,7 @@ import {
|
|||||||
} from "@/api/order";
|
} from "@/api/order";
|
||||||
import { GetOrderPayApi } from "@/api/orderPay";
|
import { GetOrderPayApi } from "@/api/orderPay";
|
||||||
import { alert, goLink } from "@/common/common";
|
import { alert, goLink } from "@/common/common";
|
||||||
|
import { ORDER_STATUS } from "@/common/enum";
|
||||||
import { formatDateTime, formatPriceDiv } from "@/common/fotmat";
|
import { formatDateTime, formatPriceDiv } from "@/common/fotmat";
|
||||||
import OrderBtns from "@/components/orderBtns";
|
import OrderBtns from "@/components/orderBtns";
|
||||||
import Popup from "@/components/popup";
|
import Popup from "@/components/popup";
|
||||||
@ -23,10 +24,8 @@ import styles from './index.module.scss'
|
|||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
const [showDesc, setShowDesc] = useState(false)
|
const [showDesc, setShowDesc] = useState(false)
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const orderId = useRef<number>(Number(router.params.id))
|
const orderId = useRef<number>(Number(router.params.id))
|
||||||
|
|
||||||
useDidShow(() => {
|
useDidShow(() => {
|
||||||
getSaleOrderPreView()
|
getSaleOrderPreView()
|
||||||
})
|
})
|
||||||
@ -169,22 +168,25 @@ import styles from './index.module.scss'
|
|||||||
return {
|
return {
|
||||||
status: orderDetail?.status, //订单状态
|
status: orderDetail?.status, //订单状态
|
||||||
orderId: orderDetail?.id,
|
orderId: orderDetail?.id,
|
||||||
settle_mode: orderDetail?.settle_mode, //支付方式 -1 还没支付 0:全额现结,1:定期付款,2:货到付款
|
settle_mode: orderDetail?.settle_mode,
|
||||||
actual_amount: orderDetail?.actual_amount, //实付金额
|
actual_amount: orderDetail?.actual_amount, //实付金额
|
||||||
wait_pay_amount: orderDetail?.wait_pay_amount, //待付金额
|
wait_pay_amount: orderDetail?.wait_pay_amount, //待付金额
|
||||||
}
|
}
|
||||||
}, [orderDetail])
|
}, [orderDetail])
|
||||||
|
|
||||||
|
//订单状态枚举
|
||||||
|
const {SaleOrderStatusCancel} = ORDER_STATUS
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View className={styles.order_main}>
|
<View className={styles.order_main}>
|
||||||
{/* <View className={styles.weight_memo_con}>
|
{/* <View className={styles.weight_memo_con}>
|
||||||
<WeightMemo/>
|
<WeightMemo/>
|
||||||
</View> */}
|
</View> */}
|
||||||
<OrderState list={orderDetail?.logistics_details}/>
|
<OrderState list={orderDetail?.logistics_details} settle_mode={orderDetail?.settle_mode}/>
|
||||||
<View >
|
<View >
|
||||||
<AddressInfoDetail orderId={orderDetail?.id} onSelect={getAddress} onChangeShipmentMode={getShipmentMode} ref={addressRef} defaultValue={defaultAddress} shipment_mode={orderDetail?.shipment_mode}/>
|
<AddressInfoDetail orderId={orderDetail?.id} onSelect={getAddress} onChangeShipmentMode={getShipmentMode} ref={addressRef} defaultValue={defaultAddress} shipment_mode={orderDetail?.shipment_mode}/>
|
||||||
</View>
|
</View>
|
||||||
<KindList value={formatPreViewOrderMemo}/>
|
<KindList order={formatPreViewOrderMemo}/>
|
||||||
<View className={styles.order_info} >
|
<View className={styles.order_info} >
|
||||||
<View className={styles.order_info_title}>订单信息</View>
|
<View className={styles.order_info_title}>订单信息</View>
|
||||||
<SearchInput showBorder={false} title='单号' height={50}>
|
<SearchInput showBorder={false} title='单号' height={50}>
|
||||||
@ -208,7 +210,7 @@ import styles from './index.module.scss'
|
|||||||
}
|
}
|
||||||
<View className={classnames(styles.miconfont, 'iconfont icon-a-moreback')}></View>
|
<View className={classnames(styles.miconfont, 'iconfont icon-a-moreback')}></View>
|
||||||
</View>
|
</View>
|
||||||
{(orderDetail?.status)&&<View className={styles.submit_order}>
|
{(orderDetail?.status != SaleOrderStatusCancel.value)&&<View className={styles.submit_order}>
|
||||||
<OrderBtns orderInfo={orderInfo} onClick={orderStateClick}/>
|
<OrderBtns orderInfo={orderInfo} onClick={orderStateClick}/>
|
||||||
</View> }
|
</View> }
|
||||||
<Popup show={showDesc} showTitle={false} onClose={() => setShowDesc(false)} >
|
<Popup show={showDesc} showTitle={false} onClose={() => setShowDesc(false)} >
|
||||||
|
@ -64,7 +64,7 @@ export default () => {
|
|||||||
//数据加载状态
|
//数据加载状态
|
||||||
const statusMore = useMemo(() => {
|
const statusMore = useMemo(() => {
|
||||||
return dataLoadingStatus({list:materialList.list, total: materialList.total, status: materialState.loading})
|
return dataLoadingStatus({list:materialList.list, total: materialList.total, status: materialState.loading})
|
||||||
}, [materialList])
|
}, [materialList, materialState])
|
||||||
|
|
||||||
//输入了搜索关键字
|
//输入了搜索关键字
|
||||||
const getSearchData = useCallback((e) => {
|
const getSearchData = useCallback((e) => {
|
||||||
|
@ -2,6 +2,7 @@ import { View, Image, Text, Navigator } from "@tarojs/components"
|
|||||||
import { memo } from "react"
|
import { memo } from "react"
|
||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
import classnames from "classnames";
|
import classnames from "classnames";
|
||||||
|
import { goLink } from "@/common/common";
|
||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
|
|
||||||
@ -12,7 +13,6 @@ export default () => {
|
|||||||
</View>
|
</View>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 头部 | 订单
|
// 头部 | 订单
|
||||||
const Header = memo(() => {
|
const Header = memo(() => {
|
||||||
let menu = [{ text: "待配布", icon: "icon-daipeibu" }, { text: "待付款", icon: "icon-daifukuan" },
|
let menu = [{ text: "待配布", icon: "icon-daipeibu" }, { text: "待付款", icon: "icon-daifukuan" },
|
||||||
@ -45,7 +45,7 @@ const Header = memo(() => {
|
|||||||
<View className={styles['card-main']}>
|
<View className={styles['card-main']}>
|
||||||
<View className={styles['card-main-title']}>
|
<View className={styles['card-main-title']}>
|
||||||
<View>订单</View>
|
<View>订单</View>
|
||||||
<Text>全部</Text>
|
<Text onClick={() => goLink('/pages/orderList/index')}>全部</Text>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles['card-main-title-content']}>
|
<View className={styles['card-main-title-content']}>
|
||||||
{
|
{
|
||||||
|
@ -5,10 +5,12 @@ import {
|
|||||||
SET_ADMINUSERINFO,
|
SET_ADMINUSERINFO,
|
||||||
SET_TOKEN,
|
SET_TOKEN,
|
||||||
SET_SESSIONKEY,
|
SET_SESSIONKEY,
|
||||||
|
SET_SORTCODE,
|
||||||
CLEAR_TOKEN,
|
CLEAR_TOKEN,
|
||||||
CLEAR_USERINFO,
|
CLEAR_USERINFO,
|
||||||
CLEAR_SESSIONKEY,
|
CLEAR_SESSIONKEY,
|
||||||
CLEAR_ADMINUSERINFO,
|
CLEAR_ADMINUSERINFO,
|
||||||
|
CLEAR_SORTCODE
|
||||||
} from '../constants/userInfo'
|
} from '../constants/userInfo'
|
||||||
|
|
||||||
export type UserParam = {
|
export type UserParam = {
|
||||||
@ -36,14 +38,20 @@ export type UserAdminParam = {
|
|||||||
user_name?: string,
|
user_name?: string,
|
||||||
wechat_user_open_id?: number
|
wechat_user_open_id?: number
|
||||||
is_authorize_name?: false|true,
|
is_authorize_name?: false|true,
|
||||||
is_authorize_phone?: false|true
|
is_authorize_phone?: false|true,
|
||||||
|
}
|
||||||
|
|
||||||
|
export type SortCodeParam = {
|
||||||
|
shareShortDetail?: string, //详情分享页面短码
|
||||||
|
shareShortPage?: string, //右上角分享页面短码
|
||||||
}
|
}
|
||||||
|
|
||||||
export type DataParam = {
|
export type DataParam = {
|
||||||
token?: string
|
token?: string
|
||||||
session_key?: string,
|
session_key?: string,
|
||||||
userInfo: UserParam,
|
userInfo: UserParam,
|
||||||
adminUserInfo: UserAdminParam
|
adminUserInfo: UserAdminParam,
|
||||||
|
sort_code: SortCodeParam
|
||||||
}
|
}
|
||||||
|
|
||||||
type Action = {
|
type Action = {
|
||||||
@ -52,14 +60,16 @@ type Action = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const INIT_USER = {
|
const INIT_USER = {
|
||||||
userInfo: Taro.getStorageSync('userInfo')?JSON.parse(Taro.getStorageSync('userInfo')):null,
|
userInfo: Taro.getStorageSync('userInfo')?JSON.parse(Taro.getStorageSync('userInfo')):null,
|
||||||
adminUserInfo: Taro.getStorageSync('adminUserInfo')?JSON.parse(Taro.getStorageSync('adminUserInfo')):null,
|
adminUserInfo: Taro.getStorageSync('adminUserInfo')?JSON.parse(Taro.getStorageSync('adminUserInfo')):null,
|
||||||
token: Taro.getStorageSync('token')||'',
|
token: Taro.getStorageSync('token')||'',
|
||||||
session_key: Taro.getStorageSync('session_key')||'',
|
session_key: Taro.getStorageSync('session_key')||'',
|
||||||
|
sort_code: Taro.getStorageSync('sort_code')?JSON.parse(Taro.getStorageSync('sort_code')):null,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default function counter (state = INIT_USER, action: Action) {
|
export default function counter (state = INIT_USER, action: Action) {
|
||||||
const {type, data} = action
|
const {type, data} = action
|
||||||
switch (type) {
|
switch (type) {
|
||||||
@ -75,6 +85,9 @@ export default function counter (state = INIT_USER, action: Action) {
|
|||||||
case SET_SESSIONKEY:
|
case SET_SESSIONKEY:
|
||||||
Taro.setStorageSync('session_key',data?.session_key)
|
Taro.setStorageSync('session_key',data?.session_key)
|
||||||
return {...state,...data}
|
return {...state,...data}
|
||||||
|
case SET_SORTCODE:
|
||||||
|
Taro.setStorageSync('sort_code',JSON.stringify(data?.sort_code))
|
||||||
|
return {...state,...data}
|
||||||
case CLEAR_TOKEN:
|
case CLEAR_TOKEN:
|
||||||
Taro.removeStorageSync('token')
|
Taro.removeStorageSync('token')
|
||||||
return {...state, token:''}
|
return {...state, token:''}
|
||||||
@ -87,6 +100,9 @@ export default function counter (state = INIT_USER, action: Action) {
|
|||||||
case CLEAR_ADMINUSERINFO:
|
case CLEAR_ADMINUSERINFO:
|
||||||
Taro.removeStorageSync('adminUserInfo')
|
Taro.removeStorageSync('adminUserInfo')
|
||||||
return {...state, adminUserInfo: null}
|
return {...state, adminUserInfo: null}
|
||||||
|
case CLEAR_SORTCODE:
|
||||||
|
Taro.removeStorageSync('sort_code')
|
||||||
|
return {...state, sortCode: null}
|
||||||
default:
|
default:
|
||||||
return state
|
return state
|
||||||
}
|
}
|
||||||
|
@ -168,7 +168,6 @@ export const useRequest = (options:option = {
|
|||||||
msg,
|
msg,
|
||||||
data
|
data
|
||||||
} = result.data
|
} = result.data
|
||||||
console.log(code, msg, data, statusCode);
|
|
||||||
if (statusCode === 200) {
|
if (statusCode === 200) {
|
||||||
stateRef.current.success = (code === 0 ? true : false)
|
stateRef.current.success = (code === 0 ? true : false)
|
||||||
stateRef.current.code = code
|
stateRef.current.code = code
|
||||||
|
@ -1,18 +1,12 @@
|
|||||||
import { useEffect, useState } from "react"
|
|
||||||
import {BASE_URL, WX_APPID } from "@/common/constant"
|
|
||||||
import useUserInfo from "./useUserInfo"
|
import useUserInfo from "./useUserInfo"
|
||||||
import Taro, { useRouter } from "@tarojs/taro"
|
import Taro, { useRouter } from "@tarojs/taro"
|
||||||
import { LoginApi } from "@/api/login"
|
|
||||||
import { GetWxUserInfoApi, GetAdminUserInfoApi, GetPhoneNumberApi } from "@/api/user"
|
import { GetWxUserInfoApi, GetAdminUserInfoApi, GetPhoneNumberApi } from "@/api/user"
|
||||||
import qs from 'qs';
|
|
||||||
import useLoginRequest from "./useLoginRequest"
|
import useLoginRequest from "./useLoginRequest"
|
||||||
|
import { SHARE_SCENE } from "@/common/enum"
|
||||||
|
import { GetShortCodeApi } from "@/api/share"
|
||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
const {setUserInfo, setAdminUserInfo, userInfo} = useUserInfo()
|
const {setUserInfo, setAdminUserInfo, setSortCode, userInfo} = useUserInfo()
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
console.log('userInfo::',userInfo.token)
|
|
||||||
}, [userInfo])
|
|
||||||
|
|
||||||
//登录请求 (调用这个就不能再useHttp中使用,当前这个hook, 否则会死循环内存溢出)
|
//登录请求 (调用这个就不能再useHttp中使用,当前这个hook, 否则会死循环内存溢出)
|
||||||
// const {fetchData} = LoginApi()
|
// const {fetchData} = LoginApi()
|
||||||
@ -33,6 +27,7 @@ export default () => {
|
|||||||
const getAdminUserInfo = async () => {
|
const getAdminUserInfo = async () => {
|
||||||
let res = await useFetchData()
|
let res = await useFetchData()
|
||||||
setAdminUserInfo(res.data)
|
setAdminUserInfo(res.data)
|
||||||
|
getShortCode(res.data.user_id)
|
||||||
}
|
}
|
||||||
|
|
||||||
//登录加checkLogin检查
|
//登录加checkLogin检查
|
||||||
@ -45,7 +40,7 @@ export default () => {
|
|||||||
Taro.checkSession({
|
Taro.checkSession({
|
||||||
success: async () => {
|
success: async () => {
|
||||||
reslove(true)
|
reslove(true)
|
||||||
if(!userInfo.adminUserInfo) getAdminUserInfo()
|
if(!userInfo.adminUserInfo) getAdminUserInfo()
|
||||||
},
|
},
|
||||||
fail: async () => {
|
fail: async () => {
|
||||||
await wxLogin()
|
await wxLogin()
|
||||||
@ -84,7 +79,6 @@ export default () => {
|
|||||||
} else {
|
} else {
|
||||||
reject(user_res.msg)
|
reject(user_res.msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
fail:(e) => {
|
fail:(e) => {
|
||||||
reject(e)
|
reject(e)
|
||||||
@ -115,6 +109,15 @@ export default () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取分享转码
|
||||||
|
const {ShareDetail, SharePage} = SHARE_SCENE
|
||||||
|
const {fetchData: fetchDataShortCode} = GetShortCodeApi()
|
||||||
|
const getShortCode = async (user_id) => {
|
||||||
|
const {data: resDetail} = await fetchDataShortCode({"share_user_id": user_id, type:ShareDetail.value})
|
||||||
|
const {data: resPage} = await fetchDataShortCode({"share_user_id": user_id, type:SharePage.value})
|
||||||
|
setSortCode({shareShortDetail: resDetail.md5_key, shareShortPage: resPage.md5_key})
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
checkLogin,
|
checkLogin,
|
||||||
wxLogin,
|
wxLogin,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { useDispatch, useSelector } from 'react-redux'
|
import { useDispatch, useSelector } from 'react-redux'
|
||||||
import { CLEAR_SESSIONKEY, SET_USERINFO, SET_TOKEN, SET_SESSIONKEY, CLEAR_USERINFO, CLEAR_TOKEN, SET_ADMINUSERINFO} from '@/constants/userInfo'
|
import { CLEAR_SESSIONKEY, SET_USERINFO, SET_TOKEN, SET_SESSIONKEY, CLEAR_USERINFO, CLEAR_TOKEN, SET_ADMINUSERINFO, SET_SORTCODE} from '@/constants/userInfo'
|
||||||
import {DataParam, UserParam, UserAdminParam} from '@/reducers/userInfo'
|
import {DataParam, UserParam, UserAdminParam, SortCodeParam} from '@/reducers/userInfo'
|
||||||
export default () => {
|
export default () => {
|
||||||
const userInfo = useSelector((state:DataParam) => state.userInfo) as DataParam
|
const userInfo = useSelector((state:DataParam) => state.userInfo) as DataParam
|
||||||
const dispatch = useDispatch()
|
const dispatch = useDispatch()
|
||||||
@ -21,6 +21,10 @@ export default () => {
|
|||||||
dispatch({type:SET_ADMINUSERINFO, data:{adminUserInfo}})
|
dispatch({type:SET_ADMINUSERINFO, data:{adminUserInfo}})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const setSortCode = (sortCode:SortCodeParam) => {
|
||||||
|
dispatch({type:SET_SORTCODE, data:{sort_code:sortCode}})
|
||||||
|
}
|
||||||
|
|
||||||
const removeUserInfo = () => {
|
const removeUserInfo = () => {
|
||||||
dispatch({type:CLEAR_USERINFO})
|
dispatch({type:CLEAR_USERINFO})
|
||||||
}
|
}
|
||||||
@ -41,6 +45,7 @@ export default () => {
|
|||||||
removeUserInfo,
|
removeUserInfo,
|
||||||
removeToken,
|
removeToken,
|
||||||
removeSessionKey,
|
removeSessionKey,
|
||||||
|
setSortCode,
|
||||||
userInfo, //响应式数据返回
|
userInfo, //响应式数据返回
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user