Commit 2c2e20cb authored by Bill's avatar Bill
parents 5f2a19af ba63d947
...@@ -94,7 +94,9 @@ export const useOrderDetail = (options: OrderDetailHookProps) => { ...@@ -94,7 +94,9 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
reloadPayList(id) reloadPayList(id)
} }
if(data.payments.length > 0){ if(data.payments.length > 0){
setCurrentPayInfoId(data.payments[0].paymentId) // 过滤出未支付的 第一个
const payObj = data.payments.filter(item => item.showPayment)[0]
setCurrentPayInfoId(payObj.paymentId)
} }
} else { } else {
message.error(msg) message.error(msg)
......
...@@ -228,12 +228,13 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => { ...@@ -228,12 +228,13 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
const { code, data: _data } = await PublicApi.getOrderBuyerGetDeliveryTime({ shopId: record.shopId, orderId: record.orderId }) const { code, data: _data } = await PublicApi.getOrderBuyerGetDeliveryTime({ shopId: record.shopId, orderId: record.orderId })
if(code === 1000) { if(code === 1000) {
// const _data = { // const _data = {
// isAppointmentDay: true, // appointmentDay: true,
// days: 3, // days: 3,
// deliverDate: "2021-10-19T19:39:42.799", // deliverDate: "2021-10-20 20:00",
// isDeliveryTime: true, // deliverPeriod: '12:00-13:00',
// deliveryTime: true,
// paramList: [{ startTime: '02:12', endTime: '03:45' }, { startTime: '05:45', endTime: '07:00' }], // paramList: [{ startTime: '02:12', endTime: '03:45' }, { startTime: '05:45', endTime: '07:00' }],
// reason: 888888, // reason: 66666666666,
// } // }
adjustActions.setFieldValue('orderId', record.orderId) adjustActions.setFieldValue('orderId', record.orderId)
adjustActions.setFieldValue('reason', _data.reason) adjustActions.setFieldValue('reason', _data.reason)
...@@ -243,21 +244,31 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => { ...@@ -243,21 +244,31 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
adjustActions.setFieldState('deliverDate', state => { adjustActions.setFieldState('deliverDate', state => {
state.props['x-component-props'].disabledDate = (current) => { state.props['x-component-props'].disabledDate = (current) => {
// 有预约天数 // 有预约天数
if(_data.isAppointmentDay && _data?.days) { if(_data.appointmentDay && _data?.days) {
return current && (current < moment().startOf('day') || current > moment().add(_data.days, 'days')) return current && (current < moment().startOf('day') || current > moment().add(_data.days, 'days'))
} else { } else {
return current && current < moment().startOf('day') return current && current < moment().startOf('day')
} }
} }
if(!_data.deliveryTime) { // 有时间段 时间控件不显示时分
state.props['x-component-props'].showTime = true
state.props['x-component-props'].format = 'YYYY-MM-DD HH:mm'
} else {
state.props['x-component-props'].showTime = false
state.props['x-component-props'].format = 'YYYY-MM-DD'
}
}) })
adjustActions.setFieldState('timeLine', prevState => { adjustActions.setFieldState('timeLine', prevState => {
prevState.visible = _data.isDeliveryTime prevState.visible = _data.deliveryTime
if(_data.paramList?.length) { if(_data.paramList?.length) {
prevState.props.enum = _data.paramList.map(item => ({label: `${item.startTime}-${item.endTime}`, value: `${item.startTime}-${item.endTime}`})) prevState.props.enum = _data.paramList.map(item => ({label: `${item.startTime}-${item.endTime}`, value: `${item.startTime}-${item.endTime}`}))
} else { } else {
prevState.visible = false prevState.visible = false
} }
}) })
if(_data.deliveryTime && _data.deliverPeriod) {
adjustActions.setFieldValue('timeLine', _data.deliverPeriod)
}
} }
} }
...@@ -420,8 +431,8 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => { ...@@ -420,8 +431,8 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
// disabledDate: current => { // disabledDate: current => {
// return current && current < moment().startOf('day') // return current && current < moment().startOf('day')
// }, // },
showTime: true, // showTime: true,
format: 'YYYY-MM-DD HH:mm', // format: 'YYYY-MM-DD HH:mm',
style: { width: '100%' } style: { width: '100%' }
} }
}, },
......
import React, { useEffect } from 'react'
import ModalTable, { ModalTableProps } from '@/components/ModalTable'
import { fetchOrderApi } from '../../apis'
import { useModalTable } from '../../model/useModalTable'
import { ISchemaFormActions, ISchemaFormAsyncActions } from '@formily/antd'
import { memberColumns } from '../../constant'
export interface MemberModalTableProps extends ModalTableProps {
type?: 'radio' | 'checkbox',
schemaAction: ISchemaFormActions | ISchemaFormAsyncActions,
currentRef?: any,
confirmModal?(),
productRef?: any,
}
const MemberModalTable:React.FC<MemberModalTableProps> = (props) => {
const { type = 'radio', schemaAction, confirmModal, currentRef, ...restProps } = props
const { visible, setVisible, rowSelection, rowSelectionCtl } = useModalTable({type, customKey: 'id'})
useEffect(() => {
if (currentRef) {
currentRef.current = {
setVisible,
visible,
rowSelectionCtl
}
}
}, [])
const handleConfirm = () => {
const rowItem = rowSelectionCtl.selectRow[0]
if (rowItem) {
schemaAction.setFieldValue('supplyMembersName', rowItem.name)
schemaAction.setFieldValue('supplyMembersId', rowItem.memberId)
schemaAction.setFieldValue('supplyMembersRoleId', rowItem.roleId)
}
confirmModal && confirmModal()
setVisible(false)
// 清空之前可能存在的商品支付信息数据
schemaAction.setFieldValue('orderProductRequests', [])
schemaAction.setFieldValue('paymentInformationResponses', [])
if(props?.productRef) {
props.productRef.current.rowSelectionCtl.setSelectRow([])
props.productRef.current.rowSelectionCtl.setSelectedRowKeys([])
}
}
return (
<ModalTable
modalTitle='选择供应会员'
columns={memberColumns}
visible={visible}
confirm={handleConfirm}
cancel={() => setVisible(false)}
fetchTableData={(params) => fetchOrderApi.getMemberListByModelType({...params, orderType: schemaAction.getFieldValue('orderModel')})}
rowSelection={rowSelection}
modalType='memberByDefault'
tableProps={{
rowKey: 'id'
}}
{...restProps}
/>
)
}
MemberModalTable.defaultProps = {}
export default MemberModalTable
...@@ -28,6 +28,7 @@ import { getAuth } from '@/utils/auth'; ...@@ -28,6 +28,7 @@ import { getAuth } from '@/utils/auth';
import { fectchShopListsSource } from '@/utils/type' import { fectchShopListsSource } from '@/utils/type'
import { useAsyncSelect } from '@/formSchema/effects/useAsyncSelect' import { useAsyncSelect } from '@/formSchema/effects/useAsyncSelect'
import { fetchOrderApi } from './apis' import { fetchOrderApi } from './apis'
import MemberModalTable from './components/memberModalTable'
export interface AgentOrderDetailProps {} export interface AgentOrderDetailProps {}
...@@ -317,9 +318,6 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => { ...@@ -317,9 +318,6 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
// 选择会员弹窗 // 选择会员弹窗
const handleOrderMember = () => { const handleOrderMember = () => {
if(!addSchemaAction.getFieldValue('shopId')) {
return message.error('请先选择适应商城')
}
memberRef.current.setVisible(true) memberRef.current.setVisible(true)
} }
...@@ -393,9 +391,6 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => { ...@@ -393,9 +391,6 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
effects={($, ctx) => { effects={($, ctx) => {
useAsyncSelect('shopId', fetchShopLists, ['name', 'id']) useAsyncSelect('shopId', fetchShopLists, ['name', 'id'])
$('onFormMount').subscribe(() => { $('onFormMount').subscribe(() => {
ctx.setFieldValue('vendorMemberName', name)
ctx.setFieldValue('vendorMemberId', memberId)
ctx.setFieldValue('vendorRoleId', memberRoleId)
// if (id || modelType) { // if (id || modelType) {
// ctx.setFieldState('orderMode', state => { // ctx.setFieldState('orderMode', state => {
// state.editable = false // state.editable = false
...@@ -456,6 +451,7 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => { ...@@ -456,6 +451,7 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
/> />
</Card> </Card>
<ProductModalTable currentRef={productRef} schemaAction={addSchemaAction} sectionProps={sectionProps} forceRender/> <ProductModalTable currentRef={productRef} schemaAction={addSchemaAction} sectionProps={sectionProps} forceRender/>
<MemberModalTable currentRef={memberRef} productRef={productRef} schemaAction={addSchemaAction}/>
</ReadyAddOrderDetailContext.Provider> </ReadyAddOrderDetailContext.Provider>
</PageHeaderWrapper> </PageHeaderWrapper>
......
...@@ -32,6 +32,23 @@ const basicInfo: ISchema = { ...@@ -32,6 +32,23 @@ const basicInfo: ISchema = {
visible: false, visible: false,
title: '下单模式值', title: '下单模式值',
}, },
vendorMemberName: {
type: 'string',
title: '供应会员',
"x-component-props": {
disabled: true,
addonAfter: "{{orderMember}}"
},
required: true,
},
vendorMemberId: {
type: 'string',
display: false
},
vendorRoleId: {
type: 'string',
display: false
},
shopId: { shopId: {
type: 'number', type: 'number',
enum: [], enum: [],
...@@ -60,23 +77,6 @@ const basicInfo: ISchema = { ...@@ -60,23 +77,6 @@ const basicInfo: ISchema = {
type: 'string', type: 'string',
display: false display: false
}, },
vendorMemberName: {
type: 'string',
title: '供应会员',
"x-component-props": {
disabled: true,
addonAfter: "{{orderMember}}"
},
required: true,
},
vendorMemberId: {
type: 'string',
display: false
},
vendorRoleId: {
type: 'string',
display: false
},
idList: { idList: {
type: 'array', type: 'array',
display: false display: false
......
...@@ -5,6 +5,7 @@ import EyePreview from '@/components/EyePreview' ...@@ -5,6 +5,7 @@ import EyePreview from '@/components/EyePreview'
import { formatTimeString } from '@/utils' import { formatTimeString } from '@/utils'
import StatusColors from '@/pages/transaction/components/statusColors' import StatusColors from '@/pages/transaction/components/statusColors'
import { FieldTimeOutlined } from '@ant-design/icons' import { FieldTimeOutlined } from '@ant-design/icons'
import { ORDER_TYPE_CHANNEL_POINTS, ORDER_TYPE_POINTS } from '@/constants/order'
// 业务hooks // 业务hooks
export const useSelfTable = () => { export const useSelfTable = () => {
...@@ -46,7 +47,7 @@ export const useSelfTable = () => { ...@@ -46,7 +47,7 @@ export const useSelfTable = () => {
align: 'center', align: 'center',
dataIndex: 'amount', dataIndex: 'amount',
key: 'amount', key: 'amount',
render: (t) => '¥' + t render: (t, r) => (r.orderType === ORDER_TYPE_POINTS || r.orderType === ORDER_TYPE_CHANNEL_POINTS) ? t : `¥${t}`
}, },
{ {
title: '已发货批次', title: '已发货批次',
......
...@@ -116,7 +116,7 @@ export const MoneyTotalBox = registerVirtualBox('moneyTotalBox', () => { ...@@ -116,7 +116,7 @@ export const MoneyTotalBox = registerVirtualBox('moneyTotalBox', () => {
/** 销售订单 代理下单 */ /** 销售订单 代理下单 */
const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => { const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
const shopDataRef = useRef<any>({}) const shopDataRef = useRef<any>({})
const { name, memberId, memberRoleId } = getAuth() || {} const { company, memberId, memberRoleId } = getAuth() || {}
const [formLoading, setFormLoading] = useState(false) const [formLoading, setFormLoading] = useState(false)
const [btnLoading, setBtnLoading] = useState(false) const [btnLoading, setBtnLoading] = useState(false)
const update = useUpdate() const update = useUpdate()
...@@ -367,7 +367,7 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => { ...@@ -367,7 +367,7 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
state.props.enum = data.map(item => ({ state.props.enum = data.map(item => ({
...item, ...item,
label: `${item.name}/${item.memberTypeName}/${item.roleName}`, label: `${item.name}/${item.memberTypeName}/${item.roleName}`,
value: item.id, value: item.memberId,
})) }))
}) })
}) })
...@@ -402,7 +402,7 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => { ...@@ -402,7 +402,7 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
effects={($, ctx) => { effects={($, ctx) => {
useAsyncSelect('shopId', fetchShopLists, ['name', 'id']) useAsyncSelect('shopId', fetchShopLists, ['name', 'id'])
$('onFormMount').subscribe(() => { $('onFormMount').subscribe(() => {
ctx.setFieldValue('vendorMemberName', name) ctx.setFieldValue('vendorMemberName', company)
ctx.setFieldValue('vendorMemberId', memberId) ctx.setFieldValue('vendorMemberId', memberId)
ctx.setFieldValue('vendorRoleId', memberRoleId) ctx.setFieldValue('vendorRoleId', memberRoleId)
// if (id || modelType) { // if (id || modelType) {
......
...@@ -5,6 +5,7 @@ import EyePreview from '@/components/EyePreview' ...@@ -5,6 +5,7 @@ import EyePreview from '@/components/EyePreview'
import { formatTimeString } from '@/utils' import { formatTimeString } from '@/utils'
import StatusColors from '@/pages/transaction/components/statusColors' import StatusColors from '@/pages/transaction/components/statusColors'
import { FieldTimeOutlined } from '@ant-design/icons' import { FieldTimeOutlined } from '@ant-design/icons'
import { ORDER_TYPE_CHANNEL_POINTS, ORDER_TYPE_POINTS } from '@/constants/order'
// 业务hooks, 待支付订单 // 业务hooks, 待支付订单
export const useSelfTable = () => { export const useSelfTable = () => {
...@@ -47,7 +48,7 @@ export const useSelfTable = () => { ...@@ -47,7 +48,7 @@ export const useSelfTable = () => {
align: 'center', align: 'center',
dataIndex: 'amount', dataIndex: 'amount',
key: 'amount', key: 'amount',
render: (t, r) => '¥' + t render: (t, r) => (r.orderType === ORDER_TYPE_POINTS || r.orderType === ORDER_TYPE_CHANNEL_POINTS) ? t : `¥${t}`
}, },
{ {
title: '已发货批次', title: '已发货批次',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment