Commit 2c2e20cb authored by Bill's avatar Bill
parents 5f2a19af ba63d947
......@@ -94,7 +94,9 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
reloadPayList(id)
}
if(data.payments.length > 0){
setCurrentPayInfoId(data.payments[0].paymentId)
// 过滤出未支付的 第一个
const payObj = data.payments.filter(item => item.showPayment)[0]
setCurrentPayInfoId(payObj.paymentId)
}
} else {
message.error(msg)
......
......@@ -228,12 +228,13 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
const { code, data: _data } = await PublicApi.getOrderBuyerGetDeliveryTime({ shopId: record.shopId, orderId: record.orderId })
if(code === 1000) {
// const _data = {
// isAppointmentDay: true,
// appointmentDay: true,
// days: 3,
// deliverDate: "2021-10-19T19:39:42.799",
// isDeliveryTime: true,
// deliverDate: "2021-10-20 20:00",
// deliverPeriod: '12:00-13:00',
// deliveryTime: true,
// paramList: [{ startTime: '02:12', endTime: '03:45' }, { startTime: '05:45', endTime: '07:00' }],
// reason: 888888,
// reason: 66666666666,
// }
adjustActions.setFieldValue('orderId', record.orderId)
adjustActions.setFieldValue('reason', _data.reason)
......@@ -243,21 +244,31 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
adjustActions.setFieldState('deliverDate', state => {
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'))
} else {
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 => {
prevState.visible = _data.isDeliveryTime
prevState.visible = _data.deliveryTime
if(_data.paramList?.length) {
prevState.props.enum = _data.paramList.map(item => ({label: `${item.startTime}-${item.endTime}`, value: `${item.startTime}-${item.endTime}`}))
} else {
prevState.visible = false
}
})
if(_data.deliveryTime && _data.deliverPeriod) {
adjustActions.setFieldValue('timeLine', _data.deliverPeriod)
}
}
}
......@@ -420,8 +431,8 @@ const PurchaseOrder: React.FC<PurchaseOrderProps> = (props) => {
// disabledDate: current => {
// return current && current < moment().startOf('day')
// },
showTime: true,
format: 'YYYY-MM-DD HH:mm',
// showTime: true,
// format: 'YYYY-MM-DD HH:mm',
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';
import { fectchShopListsSource } from '@/utils/type'
import { useAsyncSelect } from '@/formSchema/effects/useAsyncSelect'
import { fetchOrderApi } from './apis'
import MemberModalTable from './components/memberModalTable'
export interface AgentOrderDetailProps {}
......@@ -317,9 +318,6 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
// 选择会员弹窗
const handleOrderMember = () => {
if(!addSchemaAction.getFieldValue('shopId')) {
return message.error('请先选择适应商城')
}
memberRef.current.setVisible(true)
}
......@@ -393,9 +391,6 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
effects={($, ctx) => {
useAsyncSelect('shopId', fetchShopLists, ['name', 'id'])
$('onFormMount').subscribe(() => {
ctx.setFieldValue('vendorMemberName', name)
ctx.setFieldValue('vendorMemberId', memberId)
ctx.setFieldValue('vendorRoleId', memberRoleId)
// if (id || modelType) {
// ctx.setFieldState('orderMode', state => {
// state.editable = false
......@@ -456,6 +451,7 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
/>
</Card>
<ProductModalTable currentRef={productRef} schemaAction={addSchemaAction} sectionProps={sectionProps} forceRender/>
<MemberModalTable currentRef={memberRef} productRef={productRef} schemaAction={addSchemaAction}/>
</ReadyAddOrderDetailContext.Provider>
</PageHeaderWrapper>
......
......@@ -32,6 +32,23 @@ const basicInfo: ISchema = {
visible: false,
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: {
type: 'number',
enum: [],
......@@ -60,23 +77,6 @@ const basicInfo: ISchema = {
type: 'string',
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: {
type: 'array',
display: false
......
......@@ -5,6 +5,7 @@ import EyePreview from '@/components/EyePreview'
import { formatTimeString } from '@/utils'
import StatusColors from '@/pages/transaction/components/statusColors'
import { FieldTimeOutlined } from '@ant-design/icons'
import { ORDER_TYPE_CHANNEL_POINTS, ORDER_TYPE_POINTS } from '@/constants/order'
// 业务hooks
export const useSelfTable = () => {
......@@ -46,7 +47,7 @@ export const useSelfTable = () => {
align: 'center',
dataIndex: 'amount',
key: 'amount',
render: (t) => '¥' + t
render: (t, r) => (r.orderType === ORDER_TYPE_POINTS || r.orderType === ORDER_TYPE_CHANNEL_POINTS) ? t : `¥${t}`
},
{
title: '已发货批次',
......
......@@ -116,7 +116,7 @@ export const MoneyTotalBox = registerVirtualBox('moneyTotalBox', () => {
/** 销售订单 代理下单 */
const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
const shopDataRef = useRef<any>({})
const { name, memberId, memberRoleId } = getAuth() || {}
const { company, memberId, memberRoleId } = getAuth() || {}
const [formLoading, setFormLoading] = useState(false)
const [btnLoading, setBtnLoading] = useState(false)
const update = useUpdate()
......@@ -367,7 +367,7 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
state.props.enum = data.map(item => ({
...item,
label: `${item.name}/${item.memberTypeName}/${item.roleName}`,
value: item.id,
value: item.memberId,
}))
})
})
......@@ -402,7 +402,7 @@ const AgentOrderDetail:React.FC<AgentOrderDetailProps> = (props) => {
effects={($, ctx) => {
useAsyncSelect('shopId', fetchShopLists, ['name', 'id'])
$('onFormMount').subscribe(() => {
ctx.setFieldValue('vendorMemberName', name)
ctx.setFieldValue('vendorMemberName', company)
ctx.setFieldValue('vendorMemberId', memberId)
ctx.setFieldValue('vendorRoleId', memberRoleId)
// if (id || modelType) {
......
......@@ -5,6 +5,7 @@ import EyePreview from '@/components/EyePreview'
import { formatTimeString } from '@/utils'
import StatusColors from '@/pages/transaction/components/statusColors'
import { FieldTimeOutlined } from '@ant-design/icons'
import { ORDER_TYPE_CHANNEL_POINTS, ORDER_TYPE_POINTS } from '@/constants/order'
// 业务hooks, 待支付订单
export const useSelfTable = () => {
......@@ -47,7 +48,7 @@ export const useSelfTable = () => {
align: 'center',
dataIndex: 'amount',
key: 'amount',
render: (t, r) => '¥' + t
render: (t, r) => (r.orderType === ORDER_TYPE_POINTS || r.orderType === ORDER_TYPE_CHANNEL_POINTS) ? t : `¥${t}`
},
{
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