Commit 6cf27540 authored by GuanHua's avatar GuanHua
parents 3a334f51 7d4f8798
......@@ -27,10 +27,6 @@ const router = [
component: '@/pages/user/register'
},
{
path: '/user/getBack',
component: '@/pages/user/getBack'
},
{
path: '/user/policy',
component: '@/pages/user/policy'
},
......
......@@ -17,7 +17,7 @@ export default [
// 询价单查询详情
{
path: '/memberCenter/tranactionAbility/goodsOffer/enquiryOrder/details',
name: 'quoteOrderDetails',
name: 'enquiryOrderDetails',
hideInMenu: true,
component: '@/pages/transaction/goodsOffer/components/details'
},
......
......@@ -13,10 +13,19 @@ const Phone = (props) => {
delay: 1 * 1000
})
const { value, form } = props
const { value, form, schema } = props
const { smsFn, ...componentProps } = schema.getExtendsComponentProps() || {}
const [loading, setLoading] = useState(false)
const handleClickSms = () => {
if (smsFn) {
smsFn(form, setLoading, () => {
start()
setLoading(false)
})
return ;
}
form.validate('phone').then(result => {
// 暂时写死, 需优化该组件
setLoading(true)
......@@ -29,13 +38,14 @@ const Phone = (props) => {
})
})
}
return (
<Row style={{width: '100%'}}>
<Col flex={1}>
<Input
value={value || ''}
onChange={e => props.mutators.change(e.target.value)}
{...props.props['x-component-props']}
{...componentProps}
/>
</Col>
<Col style={{marginLeft: 8}}>
......
......@@ -219,7 +219,8 @@ export const STATUS_ENUM = [
]
// 1是阿里云oss服务器, 2是本地文件服务器
export const UPLOAD_TYPE = isDev ? 2 : 1
// 2020/10/21 本地文件服务器关闭, 现全部上传到oss - xjm
export const UPLOAD_TYPE = 1
// 会员规则类型
export const VIP_RULE_TRANSACTION = 1; // 交易
......
......@@ -13,6 +13,7 @@ export const PATTERN_MAPS = {
password: /^(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d]{8,20}$/,
email: /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/,
phone: /^1[3|4|5|6|7|8|9][0-9]{9}$/,
phoneAndEmail: /^(1[3|4|5|6|7|8|9][0-9]{9})|([\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+)$/,
tel: /^(0\d{2,3}-\d{7,8})(-\d{1,4})?$/,//座机
smsCode: /^\d{6}$/,
money:/^\d*(?:\.\d{0,2})?$/,
......
......@@ -7,6 +7,7 @@ import OrderPayTabs from '../../components/orderPayTabs'
import OrderMergeInfo from '../../components/orderMergeInfo'
import OrderDeleveRecord from '../../components/orderDeleveRecord'
import OrderTransformRecord from '../../components/orderTransformRecord'
import OrderSaleRecord from '../orderSaleRecord'
export interface OrderDetailSectionProps {
formContext: any,
......@@ -31,7 +32,7 @@ const OrderDetailSection:React.FC<OrderDetailSectionProps> = ({formContext, type
<OrderMergeInfo />
<OrderDeleveRecord />
{ type === 'saleOrder' ? <OrderSaleRecord/> : <OrderDeleveRecord /> }
<OrderTransformRecord />
</div>
......
import React, { useContext } from 'react'
import { Tabs, Table, Button } from 'antd'
import StatusColors from '@/pages/transaction/components/StatusColors'
import { formatTimeString } from '@/utils'
import { OrderDetailContext } from '../../_public/order/context'
import MellowCard from '@/components/MellowCard'
import NestTable from '@/components/NestTable'
import { DeliverySideState } from '@/constants'
import { PublicApi } from '@/services/api'
export interface OrderSaleRecordProps {}
const outOrderCols: any[] = [
{
title: '商品ID',
dataIndex: 'productId',
align: 'center',
key: 'productId'
},
{
title: '商品名称',
dataIndex: 'productName',
align: 'center',
key: 'productName',
},
{
title: '品类',
dataIndex: 'category',
align: 'center',
key: 'category'
},
{
title: '品牌',
dataIndex: 'brand',
align: 'center',
key: 'brand',
},
{
title: '单位',
dataIndex: 'unit',
align: 'center',
key: 'unit'
},
{
title: '单价',
dataIndex: 'unitPrice',
align: 'center',
key: 'unitPrice',
},
{
title: '采购数量',
dataIndex: 'purchaseCount',
align: 'center',
key: 'purchaseCount',
},
{
title: '含税',
dataIndex: 'no',
align: 'center',
key: 'no',
render: () => '是'
},
{
title: '金额',
dataIndex: 'price',
align: 'center',
key: 'price',
},
{
title: '已发货',
dataIndex: 'delivered',
align: 'center',
key: 'delivered',
},
{
title: '未发货',
dataIndex: 'notDelivered',
align: 'center',
key: 'notDelivered',
},
{
title: '已收货',
dataIndex: 'goodsReceived',
align: 'center',
key: 'goodsReceived',
},
{
title: '差异数量',
dataIndex: 'differenceCount',
align: 'center',
key: 'differenceCount',
},
]
const sideChildrenCols: any[] = [
{
title: '商品ID',
dataIndex: 'productId',
align: 'center',
key: 'productId',
},
{
title: '商品名称',
dataIndex: 'productName',
align: 'center',
key: 'productName',
},
{
title: '品类',
dataIndex: 'category',
align: 'center',
key: 'category',
},
{
title: '品牌',
dataIndex: 'brand',
align: 'center',
key: 'brand',
},
{
title: '单位',
dataIndex: 'unit',
align: 'center',
key: 'unit',
},
{
title: '采购数量',
dataIndex: 'purchaseCount',
align: 'center',
key: 'purchaseCount',
},
{
title: '发货数量',
dataIndex: 'deliverGoodsCount',
align: 'center',
key: 'deliverGoodsCount',
},
{
title: '入库数量',
dataIndex: 'storageCount',
align: 'center',
key: 'storageCount',
},
{
title: '差异数量',
dataIndex: 'differenceCount',
align: 'center',
key: 'differenceCount',
},
]
// 订单发货记录
const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => {
const { data, reloadFormData } = useContext(OrderDetailContext)
const { orderReceivingStatisticsResponses, orderDeliveryDetailsResponses } = data
const sideOrderCols: any[] = [
{
title: '发货批次',
dataIndex: 'deliveryBatch',
align: 'center',
key: 'deliveryBatch'
},
{
title: '发货单号',
dataIndex: 'deliveryNo',
align: 'center',
key: 'deliveryNo',
},
{
title: '发货时间',
dataIndex: 'deliveryTime',
align: 'center',
key: 'deliveryTime',
render: text => formatTimeString(text)
},
{
title: '物流单号',
dataIndex: 'logisticsNo',
align: 'center',
key: 'logisticsNo',
},
{
title: '物流公司',
dataIndex: 'logisticsCompanyName',
align: 'center',
key: 'logisticsCompanyName'
},
{
title: '入库单号',
dataIndex: 'storageNo',
align: 'center',
key: 'storageNo',
},
{
title: '入库时间',
dataIndex: 'storageTime',
align: 'center',
key: 'storageTime',
render: text => formatTimeString(text)
},
{
title: '内部状态',
dataIndex: 'interiorState',
align: 'center',
key: 'interiorState',
render: text => <StatusColors type='deliveInside' status={text}/>
},
{
title: '操作',
dataIndex: 'ctl',
align: 'center',
key: 'ctl',
render: (text, record) => <>
{ record.interiorState === DeliverySideState.CONFIRM_RECEIPT_ORDER && <Button type='link' onClick={() => handleReturn(record)}>确认回单</Button> }
{ record.interiorState === DeliverySideState.ADD_LOGISTICS_ORDER && <Button type='link' onClick={() => handleConfirm(record)}>确认发货</Button> }
</>
},
]
// 确认发货
const handleConfirm = async (record) => {
const params = {
orderId: record.orderId,
id: record.id
}
await PublicApi.postOrderConfirmShipmentOrder(params)
reloadFormData && reloadFormData()
}
// 确认回单
const handleReturn = async (record) => {
const params = {
orderId: record.orderId,
id: record.id
}
await PublicApi.postOrderReceiptOrderConfirmed(params)
reloadFormData && reloadFormData()
}
return (
<MellowCard style={{marginTop: 24}} bordered={false} id='deleveBox'>
<Tabs defaultActiveKey="2" animated={false}>
<Tabs.TabPane tab='订单发货统计' key="1">
<Table
columns={outOrderCols}
dataSource={orderReceivingStatisticsResponses}
pagination={false}
rowKey="id"
/>
</Tabs.TabPane>
<Tabs.TabPane tab='订单发货明细' key="2">
<NestTable
NestColumns={[sideOrderCols, sideChildrenCols]}
rowKey='id'
childrenDataKey='orderDeliveryProducts'
dataSource={orderDeliveryDetailsResponses}
/>
</Tabs.TabPane>
</Tabs>
</MellowCard>
)
}
OrderSaleRecord.defaultProps = {}
export default OrderSaleRecord
\ No newline at end of file
......@@ -64,7 +64,7 @@ const PendingReviewOne: React.FC<{}> = () => {
})
})
} else {
message.error('请选择要操作的价单!')
message.error('请选择要操作的价单!')
}
}
......
......@@ -64,7 +64,7 @@ const PendingReviewTwo: React.FC<{}> = () => {
})
})
} else {
message.error('请选择要操作的价单!')
message.error('请选择要操作的价单!')
}
}
......
import React, { useRef, useState, useEffect } from 'react';
import { Card, Button, Row, Col } from 'antd';
import { Card, Button, Row, Col, message } from 'antd';
import { history, Link } from 'umi'
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { StandardTable } from 'god';
......@@ -97,22 +97,22 @@ const PendingSubmit: React.FC<{}> = () => {
</Row>
/**列表数据 */
const data = {
totalCount: 2,
data: [{
id: 1,
quotationNo: 'BPTY12',
inquiryListNo: 'SZX125KJS',
details: '模拟的数据',
memberName: '冰红茶',
memberId: 10,
deliveryTime: '2020-10-13 13:59:00',
quotationAsTime: '2020-10-13 23:59:00',
voucherTime: '2020-10-13 13:59:00',
externalState: 1,
interiorState: 1
}]
}
// const data = {
// totalCount: 2,
// data: [{
// id: 1,
// quotationNo: 'BPTY12',
// inquiryListNo: 'SZX125KJS',
// details: '模拟的数据',
// memberName: '冰红茶',
// memberId: 10,
// deliveryTime: '2020-10-13 13:59:00',
// quotationAsTime: '2020-10-13 23:59:00',
// voucherTime: '2020-10-13 13:59:00',
// externalState: 1,
// interiorState: 1
// }]
// }
const fetchData = (params?: any) => {
console.log(params)//可以直接打印参数
return new Promise((resolve, reject) => {
......@@ -137,9 +137,14 @@ const PendingSubmit: React.FC<{}> = () => {
}
/**批量审核 */
const handleSubmitAll = (ids: number[]) => {
PublicApi.postOrderProductQuotationtToSubmitAll({ ids: ids }).then(res => {
ref.current.reload()
})
if(selectRow.length > 0) {
PublicApi.postOrderProductQuotationtToSubmitAll({ ids: ids }).then(res => {
ref.current.reload()
})
} else {
message.error('请选择要操作的审核报价单!')
}
}
const handleModalOK = () => {
setvisible(false)
......
......@@ -16,10 +16,13 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { commonEnquieryOfferSchema } from '../schema';
import { PublicApi } from '@/services/api';
import AuditModal from '../components/auditModel';
const formActions = createFormActions();
const AddEnquiryOrder: React.FC<{}> = () => {
const ref = useRef<any>({});
const [id, setId] = useState<any>(0);
const [visible, setvisible] = useState<boolean>(false);
const [selectRow, setSelectRow] = useState([]);
const [selectedRowKeys, setSelectedRowKeys] = useState<Array<number>>([]);
const columns: ColumnType<any>[] = [
......@@ -88,7 +91,7 @@ const AddEnquiryOrder: React.FC<{}> = () => {
render: (text: any, record: any) => {
return (
<>
<Button type='link' disabled={record.interiorState !== 1}>提交审核</Button>
<Button type='link' disabled={record.interiorState !== 1} onClick={() => { setId(record.id); setvisible(true)}}>提交审核</Button>
<Button type="link" disabled={record.interiorState !== 4 && record.externalState !== 1 }><Link to={`/memberCenter/tranactionAbility/goodsOffer/addEnquiryOrder/edit?id=${record.id}`}>编辑</Link></Button>
<Popconfirm
title="确定要删除吗?"
......@@ -151,11 +154,19 @@ const AddEnquiryOrder: React.FC<{}> = () => {
</Menu.Item>
</Menu>
)
/**批量审核 */
const handleSubmitAll = (ids: number[]) => {
PublicApi.postOrderInquiryListSubmitAll({ ids: ids }).then(res => {
ref.current.reload()
})
}
const controllerBtns = <Row>
<Col span={24}>
<Space direction="horizontal" size={16}>
<Button type="primary" icon={<PlusOutlined />} onClick={() => history.push(`/memberCenter/tranactionAbility/goodsOffer/addEnquiryOrder/add`)}>新建</Button>
<Button>批量提交审核</Button>
<Button onClick={() => handleSubmitAll(selectedRowKeys)}>批量提交审核</Button>
<Dropdown.Button
overlay={menu}
trigger={['click']}
......@@ -197,6 +208,13 @@ const AddEnquiryOrder: React.FC<{}> = () => {
}
})
}
const handleModalOK = () => {
setvisible(false)
setTimeout(() => {
history.goBack()
}, 1000)
}
return (
<PageHeaderWrapper>
<Card>
......@@ -220,6 +238,13 @@ const AddEnquiryOrder: React.FC<{}> = () => {
>
</StandardTable>
</Card>
<AuditModal
id={id}
type={4}
dialogVisible={visible}
onCancel={() => setvisible(false)}
onOK={handleModalOK}
/>
</PageHeaderWrapper>
)
}
......
......@@ -56,6 +56,13 @@ const AuditModal: React.FC<Params> = (props) => {
}
})
break;
case 4:
PublicApi.postOrderInquiryListSubmit(value).then(res => {
if(res.code === 1000) {
props.onOK()
}
})
break;
}
}
return (
......
......@@ -18,7 +18,7 @@ export interface parmas {
const Attached: React.FC<parmas> = (props) => {
const { handleGetEnclosureUrls, editData } = props;
const [files, setFiles] = useState([]);
const [files, setFiles] = useState<Array<any>>([]);
/**判断文件类型和大小 */
const beforeDocUpload = (file: UploadFile) => {
const isLt20M = file.size / 1024 / 1024 < 20;
......@@ -56,6 +56,7 @@ const Attached: React.FC<parmas> = (props) => {
}
}, [editData])
return (
<Form
{...layout}
......@@ -63,7 +64,7 @@ const Attached: React.FC<parmas> = (props) => {
>
<Form.Item label='附件' name='upload'>
<div className={styles.upload_data}>
{files.length > 0 && files.map((v, index) => (
{(files && files.length > 0) && files.map((v, index) => (
<div key={index} className={styles.upload_item}>
<div className={styles.upload_left}>
<LinkOutlined />
......
......@@ -73,24 +73,24 @@ const BasicInfo: React.FC<queryProps> = (props) => {
}
}
// 模拟数据
const data = {
totalCount: 1,
data: [{
orderId: 6,
orderNo: 'SZ1008',
details: '可可西',
memberName: '超级会员',
documentTime: '2020-10-20 11:22:00',
}]
}
// const data = {
// totalCount: 1,
// data: [{
// orderId: 6,
// orderNo: 'SZ1008',
// details: '可可西',
// memberName: '超级会员',
// documentTime: '2020-10-20 11:22:00',
// }]
// }
const fetchMemberList = async (params) => {
return new Promise((resolve, reject) => {
// PublicApi.postOrderCorrespondingInquiryNumber({...params}).then(res => {
// resolve(res.data)
// })
setTimeout(() => {
resolve(data)
}, 500)
PublicApi.postOrderCorrespondingInquiryNumber({...params}).then(res => {
resolve(res.data)
})
// setTimeout(() => {
// resolve(data)
// }, 500)
});
}
// 选择会员弹框结束
......
......@@ -75,15 +75,15 @@ const EnquiryGoods: React.FC<queryProps> = (props) => {
}]
useEffect(() => {
// if(Object.keys(inquiryNo).length > 0 && inquiryNo.orderId) {
// PublicApi.getOrderProductInquiryDetails({id: inquiryNo.orderId}).then(res => {
// if(res.code === 1000) {
// setgoodsList(res.data.inquiryListProductRequests)
// }
// })
// }
// // 询价单重选,清空数据
// setgoodsList([])
if(Object.keys(inquiryNo).length > 0 && inquiryNo.orderId) {
PublicApi.getOrderProductInquiryDetails({id: inquiryNo.orderId}).then(res => {
if(res.code === 1000) {
setgoodsList(res.data.inquiryListProductRequests)
}
})
}
// 询价单重选,清空数据
setgoodsList([])
}, [inquiryNo])
// 编辑时回显的数据
......
......@@ -16,10 +16,13 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import { FORM_FILTER_PATH } from '@/formSchema/const';
import { commonEnquieryOfferSchema } from '../schema';
import { PublicApi } from '@/services/api';
import AuditModal from '../components/auditModel';
const formActions = createFormActions();
const AddInquiryOrder: React.FC<{}> = () => {
const ref = useRef<any>({});
const [id, setId] = useState<any>(0);
const [visible, setvisible] = useState<boolean>(false);
const [selectRow, setSelectRow] = useState([]);
const [selectedRowKeys, setSelectedRowKeys] = useState<Array<number>>([]);
const columns: ColumnType<any>[] = [{
......@@ -77,7 +80,7 @@ const AddInquiryOrder: React.FC<{}> = () => {
console.log(record.interiorState)
return (
<>
<Button type='link' >提交审核</Button>
<Button type='link' onClick={() => { setId(record.id); setvisible(true)}}>提交审核</Button>
<Button type="link"><Link to={`/memberCenter/tranactionAbility/inquiryQuote/addInquiryOrder/edit?id=${record.id}`}>编辑</Link></Button>
<Popconfirm
destroyTooltipOnHide
......@@ -118,54 +121,85 @@ const AddInquiryOrder: React.FC<{}> = () => {
const menu = (
<Menu>
<Menu.Item key='1' icon={<DeleteOutlined />}>
批量删除
<span onClick={() => handleBatchDelete()}>批量删除</span>
</Menu.Item>
</Menu>
)
//列表数据
const data = {
totalCount: 2,
data: [{
id: 1,
quotationNo: 'BPTY12',
inquiryListNo: 'SZX125KJS',
details: '模拟的数据',
memberName: '冰红茶',
memberId: 10,
deliveryTime: '2020-10-13 13:59:00',
quotationAsTime: '2020-10-13 23:59:00',
voucherTime: '2020-10-13 13:59:00',
externalState: 1,
interiorState: 1
}]
}
// const data = {
// totalCount: 2,
// data: [{
// id: 1,
// quotationNo: 'BPTY12',
// inquiryListNo: 'SZX125KJS',
// details: '模拟的数据',
// memberName: '冰红茶',
// memberId: 10,
// deliveryTime: '2020-10-13 13:59:00',
// quotationAsTime: '2020-10-13 23:59:00',
// voucherTime: '2020-10-13 13:59:00',
// externalState: 1,
// interiorState: 1
// }]
// }
const fetchData = async (params: any) => {
return new Promise((resolve, reject) => {
// PublicApi.getOrderStayProductQuotationList({ ...params }).then(res => {
// resolve(res.data)
// })
setTimeout(() => {
resolve(data)
}, 500)
PublicApi.getOrderStayProductQuotationList({ ...params }).then(res => {
resolve(res.data)
})
// setTimeout(() => {
// resolve(data)
// }, 500)
})
}
/**批量审核 */
const handleSubmitAll = (ids: number[]) => {
if (selectRow.length > 0) {
PublicApi.postOrderProductQuotationtAll({ ids: ids }).then(res => {
ref.current.reload()
})
} else {
message.error('请选择要操作的审核报价单!')
}
}
//批量删除
const handleBatchDelete = () => {
if(selectedRowKeys.length === 0) {
return message.error('请选择要删除的询价单')
}
PublicApi.postOrderProductQuotationDeleteAll({ids: selectedRowKeys}).then(res => {
if(res.code === 1000) {
ref.current.reload();
}
})
}
//批量审核&批量删除按钮
const controllerBtns = <Row>
<Col span={24}>
<Space direction="horizontal" size={16}>
<Button type="primary" icon={<PlusOutlined />} onClick={() => history.push(`/memberCenter/tranactionAbility/inquiryQuote/addInquiryOrder/add`)}>新建</Button>
<Button>批量提交审核</Button>
<Button onClick={() => handleSubmitAll(selectedRowKeys)}>批量提交审核</Button>
<Dropdown.Button
overlay={menu}
trigger={['click']}
icon={<DownOutlined />}
>
更多
</Dropdown.Button>
</Dropdown.Button>
</Space>
</Col>
</Row>
const handleModalOK = () => {
setvisible(false)
setTimeout(() => {
history.goBack()
}, 1000)
}
return (
<PageHeaderWrapper>
<Card>
......@@ -189,6 +223,13 @@ const AddInquiryOrder: React.FC<{}> = () => {
>
</StandardTable>
</Card>
<AuditModal
id={id}
type={4}
dialogVisible={visible}
onCancel={() => setvisible(false)}
onOK={handleModalOK}
/>
</PageHeaderWrapper>
)
}
......
......@@ -11,7 +11,7 @@ const actions = createFormActions()
const { onFieldChange$ } = FormEffectHooks;
export interface Params {
id: number | string;
type: number | string; //1.待提交报价单,2.待审核报价单一级,3.待审核报价单二级
type: number | string; //1.待提交报价单,2.询价报价-待审核报价单(一级),3.询价报价-待审核报价单(二级),4.询价报价-待新增提交审核
dialogVisible: boolean;
onCancel: Function;
onOK?: Function;
......@@ -37,21 +37,28 @@ const AuditModal: React.FC<Params> = (props) => {
switch (props.type) {
case 1:
PublicApi.postOrderProductQuotationtToSubmit(value).then(res => {
if(res.code === 1000) {
if (res.code === 1000) {
props.onOK()
}
})
break;
case 2:
PublicApi.postOrderProductQuotationtAuditSubmit(value).then(res => {
if(res.code === 1000) {
if (res.code === 1000) {
props.onOK()
}
})
break;
case 3:
PublicApi.postOrderProductQuotationtAuditSubmitTwo(value).then(res => {
if(res.code === 1000) {
if (res.code === 1000) {
props.onOK()
}
})
break;
case 4:
PublicApi.postOrderProductQuotationtSubmit(value).then(res => {
if (res.code === 1000) {
props.onOK()
}
})
......
import React, { useRef, useEffect } from 'react';
import {Link} from 'umi';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { Card, Button } from 'antd';
import { StandardTable } from 'god';
......@@ -56,31 +57,31 @@ const EnquiryOrder: React.FC<{}> = (props) => {
title: '操作',
key: 'options',
dataIndex: 'options',
render: (text: any, record: any) => <Button type='link'>报价</Button>
render: (text: any, record: any) => <Button type='link'><Link to={`/memberCenter/tranactionAbility/inquiryQuote/addInquiryOrder/add?id=${record.id}`}>报价</Link></Button>
}];
//交易能力 询价报价 询价单查询
const data = {
totalCount: 1,
data: [{
id: 91,
inquiryListNo: 'SD2015PPLJ',
details: '阿珍爱上阿强',
memberName: 'wutiaoren',
memberId: 5,
deliveryTime: '2020-10-14 15:37:00',
quotationAsTime: '2020-10-13 15:37:00',
voucherTime: '2020-10-13 15:37:00',
externalState: 1,
}]
}
// const data = {
// totalCount: 1,
// data: [{
// id: 91,
// inquiryListNo: 'SD2015PPLJ',
// details: '阿珍爱上阿强',
// memberName: 'wutiaoren',
// memberId: 5,
// deliveryTime: '2020-10-14 15:37:00',
// quotationAsTime: '2020-10-13 15:37:00',
// voucherTime: '2020-10-13 15:37:00',
// externalState: 1,
// }]
// }
const fetchData = (params?: any) => {
return new Promise((resolve, reject) => {
// PublicApi.getOrderProductInquiryList({...params}).then(res => {
// resolve(res.data)
// })
setTimeout(() => {
resolve(data)
}, 1000)
PublicApi.getOrderProductInquiryList({...params}).then(res => {
resolve(res.data)
})
// setTimeout(() => {
// resolve(data)
// }, 1000)
})
}
// 搜索
......
......@@ -15,41 +15,41 @@ const PendingReviewOne: React.FC<{}> = () => {
console.log(values, '我是多选的id')
}
// 列表数据
const data = { // 模拟的数据
totalCount: 6,
data: [{
id: 1,
quotationNo: 'BPTY12',
inquiryListNo: 'SZX125KJS',
details: '模拟的数据',
memberName: '冰红茶',
memberId: 10,
quotationAsTime: '2020-10-13 23:59:00',
voucherTime: '2020-10-13 13:59:00',
externalState: 1,
interiorState: 2
}, {
id: 2,
quotationNo: 'BPTY12',
inquiryListNo: 'SZX125LIP',
details: '模拟的数据10086',
memberName: '打喷嚏',
memberId: 1,
quotationAsTime: '2020-10-14 23:59:00',
voucherTime: '2020-10-12 13:59:00',
externalState: 1,
interiorState: 1
}]
}
// const data = { // 模拟的数据
// totalCount: 6,
// data: [{
// id: 1,
// quotationNo: 'BPTY12',
// inquiryListNo: 'SZX125KJS',
// details: '模拟的数据',
// memberName: '冰红茶',
// memberId: 10,
// quotationAsTime: '2020-10-13 23:59:00',
// voucherTime: '2020-10-13 13:59:00',
// externalState: 1,
// interiorState: 2
// }, {
// id: 2,
// quotationNo: 'BPTY12',
// inquiryListNo: 'SZX125LIP',
// details: '模拟的数据10086',
// memberName: '打喷嚏',
// memberId: 1,
// quotationAsTime: '2020-10-14 23:59:00',
// voucherTime: '2020-10-12 13:59:00',
// externalState: 1,
// interiorState: 1
// }]
// }
const fetchData = (params?: any) => {
console.log(params)//可以直接打印参数
return new Promise((resolve, reject) => {
// PublicApi.getOrderAuditProductQuotationList({...params}).then(res => {
// resolve(res.data)
// })
setTimeout(() => {
resolve(data)
}, 500)
PublicApi.getOrderAuditProductQuotationList({...params}).then(res => {
resolve(res.data)
})
// setTimeout(() => {
// resolve(data)
// }, 500)
})
}
// 批量操作
......@@ -64,7 +64,7 @@ const PendingReviewOne: React.FC<{}> = () => {
})
})
} else {
message.error('请选择要操作的价单!')
message.error('请选择要操作的价单!')
}
}
const column: ColumnType<any>[] = [{
......
......@@ -15,41 +15,41 @@ const PendingReviewTwo: React.FC<{}> = () => {
console.log(values, '我是多选的id')
}
// 列表数据
const data = { // 模拟的数据
totalCount: 6,
data: [{
id: 1,
quotationNo: 'BPTY12',
inquiryListNo: 'SZX125KJS',
details: '模拟的数据',
memberName: '冰红茶',
memberId: 10,
quotationAsTime: '2020-10-13 23:59:00',
voucherTime: '2020-10-13 13:59:00',
externalState: 1,
interiorState: 1
}, {
id: 2,
quotationNo: 'BPTY12',
inquiryListNo: 'SZX125LIP',
details: '模拟的数据10086',
memberName: '打喷嚏',
memberId: 1,
quotationAsTime: '2020-10-14 23:59:00',
voucherTime: '2020-10-12 13:59:00',
externalState: 1,
interiorState: 1
}]
}
// const data = { // 模拟的数据
// totalCount: 6,
// data: [{
// id: 1,
// quotationNo: 'BPTY12',
// inquiryListNo: 'SZX125KJS',
// details: '模拟的数据',
// memberName: '冰红茶',
// memberId: 10,
// quotationAsTime: '2020-10-13 23:59:00',
// voucherTime: '2020-10-13 13:59:00',
// externalState: 1,
// interiorState: 1
// }, {
// id: 2,
// quotationNo: 'BPTY12',
// inquiryListNo: 'SZX125LIP',
// details: '模拟的数据10086',
// memberName: '打喷嚏',
// memberId: 1,
// quotationAsTime: '2020-10-14 23:59:00',
// voucherTime: '2020-10-12 13:59:00',
// externalState: 1,
// interiorState: 1
// }]
// }
const fetchData = (params?: any) => {
console.log(params)//可以直接打印参数
return new Promise((resolve, reject) => {
// PublicApi.getOrderAuditProductQuotationListTwo({...params}).then(res => {
// resolve(res.data)
// })
setTimeout(() => {
resolve(data)
}, 500)
PublicApi.getOrderAuditProductQuotationListTwo({...params}).then(res => {
resolve(res.data)
})
// setTimeout(() => {
// resolve(data)
// }, 500)
})
}
// 批量操作
......@@ -64,7 +64,7 @@ const PendingReviewTwo: React.FC<{}> = () => {
})
})
} else {
message.error('请选择要操作的价单!')
message.error('请选择要操作的价单!')
}
}
const column: ColumnType<any>[] = [{
......
import React, { useRef, useState, useEffect } from 'react';
import { Card, Button, Row, Col } from 'antd';
import { Card, Button, Row, Col, message } from 'antd';
import { history, Link } from 'umi'
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import { StandardTable } from 'god';
......@@ -96,31 +96,31 @@ const PendingSubmit: React.FC<{}> = () => {
</Row>
/**列表数据 */
const data = {
totalCount: 2,
data: [{
id: 1,
quotationNo: 'BPTY12',
inquiryListNo: 'SZX125KJS',
details: '模拟的数据',
memberName: '冰红茶',
memberId: 10,
deliveryTime: '2020-10-13 13:59:00',
quotationAsTime: '2020-10-13 23:59:00',
voucherTime: '2020-10-13 13:59:00',
externalState: 1,
interiorState: 1
}]
}
// const data = {
// totalCount: 2,
// data: [{
// id: 1,
// quotationNo: 'BPTY12',
// inquiryListNo: 'SZX125KJS',
// details: '模拟的数据',
// memberName: '冰红茶',
// memberId: 10,
// deliveryTime: '2020-10-13 13:59:00',
// quotationAsTime: '2020-10-13 23:59:00',
// voucherTime: '2020-10-13 13:59:00',
// externalState: 1,
// interiorState: 1
// }]
// }
const fetchData = (params?: any) => {
console.log(params)//可以直接打印参数
return new Promise((resolve, reject) => {
// PublicApi.getOrderToSubmitProductQuotationList({ ...params }).then(res => {
// resolve(res.data)
// })
setTimeout(() => {
resolve(data)
}, 500)
PublicApi.getOrderToSubmitProductQuotationList({ ...params }).then(res => {
resolve(res.data)
})
// setTimeout(() => {
// resolve(data)
// }, 500)
})
}
......@@ -136,9 +136,14 @@ const PendingSubmit: React.FC<{}> = () => {
}
/**批量审核 */
const handleSubmitAll = (ids: number[]) => {
PublicApi.postOrderProductQuotationtToSubmitAll({ ids: ids }).then(res => {
ref.current.reload()
})
if(selectRow.length > 0) {
PublicApi.postOrderProductQuotationtToSubmitAll({ ids: ids }).then(res => {
ref.current.reload()
})
} else {
message.error('请选择要操作的报价单!')
}
}
const handleModalOK = () => {
......
......@@ -65,29 +65,29 @@ const EnquiryOrder: React.FC<{}> = (props) => {
quoteOrderInternalState(text)
}];
//交易能力 询价报价 询价单查询
const data = {
totalCount: 1,
data: [{
id: 91,
quotationNo: 'BPTY12',
inquiryListNo: 'SD2015PPLJ',
details: '阿珍爱上阿强',
memberName: 'wutiaoren',
memberId: 5,
quotationAsTime: '2020-10-13 15:37:00',
voucherTime: '2020-10-13 15:37:00',
externalState: 1,
interiorState: 2
}]
}
// const data = {
// totalCount: 1,
// data: [{
// id: 91,
// quotationNo: 'BPTY12',
// inquiryListNo: 'SD2015PPLJ',
// details: '阿珍爱上阿强',
// memberName: 'wutiaoren',
// memberId: 5,
// quotationAsTime: '2020-10-13 15:37:00',
// voucherTime: '2020-10-13 15:37:00',
// externalState: 1,
// interiorState: 2
// }]
// }
const fetchData = (params?: any) => {
return new Promise((resolve, reject) => {
// PublicApi.getOrderProductQuotationList({...params}).then(res => {
// resolve(res.data)
// })
setTimeout(() => {
resolve(data)
}, 1000)
PublicApi.getOrderProductQuotationList({...params}).then(res => {
resolve(res.data)
})
// setTimeout(() => {
// resolve(data)
// }, 1000)
})
}
// 搜索
......
import React from 'react'
import { history } from 'umi'
import { formatTimeString } from '@/utils'
import { ORDER_TYPE } from '@/constants'
import { ORDER_TYPE, PurchaseOrderOutWorkStateTexts, PurchaseOrderInsideWorkStateTexts } from '@/constants'
import StatusColors from '../components/StatusColors'
import EyePreview from '@/components/EyePreview'
......@@ -55,20 +55,35 @@ export const baseOrderListColumns: any[] = [
align: 'center',
dataIndex: 'type',
key: 'type',
render: (text) => ORDER_TYPE[text]
render: (text) => ORDER_TYPE[text],
filters: [
{text: '询价采购', value: 1},
{text: '需求采购', value: 2},
{text: '现货采购', value: 3},
{text: '集采', value: 4},
{text: '积分兑换', value: 5},
{text: '渠道直采', value: 6},
{text: '渠道现货', value: 7},
{text: '渠道积分兑换', value: 8},
],
onFilter: (value, record) => value === record.type,
},
{
title: '外部状态',
align: 'center',
dataIndex: 'externalState',
key: 'externalState',
render: text => <StatusColors status={text} type='out' />
render: text => <StatusColors status={text} type='out' />,
filters: Object.entries(PurchaseOrderOutWorkStateTexts).map(([key, value]) => ({text: value, value: Number(key)})),
onFilter: (value, record) => value === record.externalState,
},
{
title: '内部状态',
align: 'center',
dataIndex: 'interiorState',
key: 'interiorState',
render: (text) => <StatusColors status={text} type='inside' />
render: (text) => <StatusColors status={text} type='inside' />,
filters: Object.entries(PurchaseOrderInsideWorkStateTexts).map(([key, value]) => ({text: value, value: Number(key)})),
onFilter: (value, record) => value === record.interiorState,
},
]
\ No newline at end of file
......@@ -10,7 +10,6 @@ export const useSelfTable = () => {
const handleConfirm = async (record) => {
//@todo 是否签约电子签章, 如果没有,需跳转至签约页面
if (isSign) {
// history.push(`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?page_type=4&id=${record.id}&preview=0`)
history.push(`/memberCenter/tranactionAbility/purchaseOrder/readyConfirmContract/detail?id=${record.id}`)
} else {
// 未认证
......
......@@ -13,7 +13,6 @@ export const useSelfTable = () => {
const handleSubmit = async (record) => {
if (record.interiorState === PurchaseOrderInsideWorkState.FILLING_ORDER) {
// history.push(`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?id=${record.id}&preview=0&page_type=7`)
history.push(`/memberCenter/tranactionAbility/purchaseOrder/readyFileOrder/detail?id=${record.id}`)
}
}
......
......@@ -65,10 +65,7 @@ export const useSelfTable = () => {
render: (text, record) => {
// 查看订单, 需根据状态显示不同schema
return (
// <EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderDetail?page_type=-1&id=${record.id}&preview=1`}>
// {text}
// </EyePreview>
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?id=${record.id}`}>
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/readyPayOrder/preview?id=${record.id}`}>
{text}
</EyePreview>
)
......
......@@ -32,10 +32,7 @@ export const useSelfTable = () => {
render: (text, record) => {
// 查看订单, 需根据状态显示不同schema
return (
// <EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?page_type=-1&id=${record.id}&preview=1`}>
// {text}
// </EyePreview>
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?id=${record.id}`}>
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/readyReceivedOrder/preview?id=${record.id}`}>
{text}
</EyePreview>
)
......@@ -104,7 +101,6 @@ export const useSelfTable = () => {
]
const handleConfirm = async (record) => {
// history.push(`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?page_type=6&id=${record.id}&preview=0&orderDeliveryDetailsId=${record.orderDeliveryDetailsId}`)
history.push(`/memberCenter/tranactionAbility/purchaseOrder/readyReceiveOrder/detail?id=${record.id}&orderDeliveryDetailsId=${record.orderDeliveryDetailsId}`);
}
......
......@@ -11,7 +11,6 @@ export const useSelfTable = () => {
const ref = useRef<any>({})
const [rowSelection, rowSelectionCtl] = useRowSelectionTable({customKey: 'id'})
const handleSubmit = async (id) => {
// history.push(`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?id=${id}&preview=0&page_type=3`)
history.push(`/memberCenter/tranactionAbility/purchaseOrder/readySubmitOrder/detail?id=${id}&preview=0`)
}
......
......@@ -10,7 +10,6 @@ export const useSelfTable = () => {
const ref = useRef<any>({})
const handleSubmit = async (record) => {
if (record.interiorState === PurchaseOrderInsideWorkState.TWO_LEVEL_AUDIT_ORDER) {
// history.push(`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?id=${record.id}&preview=0&page_type=2`)
history.push(`/memberCenter/tranactionAbility/purchaseOrder/secondApprovedOrder/detail?id=${record.id}`)
}
}
......
......@@ -32,10 +32,7 @@ export const useSelfTable = () => {
render: (text, record) => {
// 查看订单, 需根据状态显示不同schema
return (
// <EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?page_type=-1&id=${record.id}&preview=1`}>
// {text}
// </EyePreview>
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?id=${record.id}`}>
<EyePreview url={`/memberCenter/tranactionAbility/saleOrder/addSaleDelevedOrder/preview?id=${record.id}`}>
{text}
</EyePreview>
)
......
import React from 'react'
import { formatTimeString } from '@/utils'
import { ORDER_TYPE } from '@/constants'
import { ORDER_TYPE, PurchaseOrderInsideWorkStateTexts, SaleOrderInsideWorkStateTexts, PurchaseOrderOutWorkStateTexts } from '@/constants'
import StatusColors from '@/pages/transaction/components/StatusColors'
import EyePreview from '@/components/EyePreview'
import { history } from 'umi'
......@@ -51,20 +51,35 @@ export const baseOrderListColumns: any[] = [
align: 'center',
dataIndex: 'type',
key: 'type',
render: (text) => ORDER_TYPE[text]
render: (text) => ORDER_TYPE[text],
filters: [
{text: '询价采购', value: 1},
{text: '需求采购', value: 2},
{text: '现货采购', value: 3},
{text: '集采', value: 4},
{text: '积分兑换', value: 5},
{text: '渠道直采', value: 6},
{text: '渠道现货', value: 7},
{text: '渠道积分兑换', value: 8},
],
onFilter: (value, record) => value === record.type,
},
{
title: '外部状态',
align: 'center',
dataIndex: 'externalState',
key: 'externalState',
render: text => <StatusColors status={text} type='out'/>
render: text => <StatusColors status={text} type='out'/>,
filters: Object.entries(PurchaseOrderOutWorkStateTexts).map(([key, value]) => ({text: value, value: Number(key)})),
onFilter: (value, record) => value === record.externalState,
},
{
title: '内部状态',
align: 'center',
dataIndex: 'purchaseOrderInteriorState',
key: 'purchaseOrderInteriorState',
render: (text) => <StatusColors status={text} type='saleInside'/>
render: (text) => <StatusColors status={text} type='saleInside'/>,
filters: Object.entries(SaleOrderInsideWorkStateTexts).map(([key, value]) => ({text: value, value: Number(key)})),
onFilter: (value, record) => value === record.purchaseOrderInteriorState,
},
]
\ No newline at end of file
......@@ -13,7 +13,6 @@ export const useSelfTable = () => {
const handleSubmit = async (record) => {
if (record.purchaseOrderInteriorState === SaleOrderInsideWorkState.ONE_LEVEL_AUDIT_ORDER) {
// history.push(`/memberCenter/tranactionAbility/saleOrder/orderPreview?id=${record.id}&preview=0&page_type=1`)
history.push(`/memberCenter/tranactionAbility/saleOrder/firstApprovedOrder/detail?id=${record.id}`)
}
}
......
......@@ -16,7 +16,7 @@ const OrderPreview: React.FC = () => {
<OrderDetailWrapper>
<PreLoading loading={!formContext.data} active paragraph={{rows: 6}}>
<OrderDetailSection formContext={formContext}/>
<OrderDetailSection formContext={formContext} type='saleOrder'/>
</PreLoading>
</OrderDetailWrapper>
</OrderDetailContext.Provider>
......
......@@ -22,10 +22,7 @@ export const useSelfTable = () => {
render: (text, record) => {
// 查看订单, 需根据状态显示不同schema
return (
// <EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?page_type=-1&id=${record.id}&preview=1`}>
// {text}
// </EyePreview>
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?id=${record.id}`}>
<EyePreview url={`/memberCenter/tranactionAbility/saleOrder/readyAddLogisticsOrder/preview?id=${record.id}`}>
{text}
</EyePreview>
)
......
......@@ -12,7 +12,6 @@ export const useSelfTable = () => {
const [rowSelection, rowSelectionCtl] = useRowSelectionTable({customKey: 'id'})
const handleSubmit = async (id) => {
// history.push(`/memberCenter/tranactionAbility/saleOrder/orderPreview?page_type=0&id=${id}&preview=0`)
history.push(`/memberCenter/tranactionAbility/saleOrder/readyApprovedOrder/detail?id=${id}`)
}
......
......@@ -10,14 +10,16 @@ import OrderHandDeleved from '../../../components/orderHandDeleved';
import { history } from 'umi'
import { useHttpRequest } from '@/hooks/useHttpRequest';
import OrderDetailSection from '../../../components/orderDetailSection';
import { SaleOrderInsideWorkState } from '@/constants';
import { SaleOrderInsideWorkState, DeliverySideState } from '@/constants';
const ReadyConfirmDelevedOrderDetail: React.FC = () => {
const { formContext, id, detailList } = useOrderDetail({type: 'saleOrder'})
// 是否是手工发货
const isHandDeleved = formContext && formContext.data.purchaseOrderInteriorState === SaleOrderInsideWorkState.HAND_DELEVED_ORDER
const isHandDeleved = formContext && formContext.data && formContext.data.purchaseOrderInteriorState === SaleOrderInsideWorkState.HAND_DELEVED_ORDER
// 所有发货单都是否已经发货了
const isShowBtn = formContext.data?.orderDeliveryDetailsResponses?.some(v => v.interiorState === DeliverySideState.ADD_LOGISTICS_ORDER)
const approvedRef = useRef<any>({})
const handleClick = useCallback(() => {
......@@ -33,7 +35,7 @@ const ReadyConfirmDelevedOrderDetail: React.FC = () => {
<div>
<OrderDetailContext.Provider value={formContext}>
<OrderDetailHeader detailList={detailList} detailData={formContext.data} extraRight={
<Button type='primary' onClick={handleClick}>
isShowBtn && <Button type='primary' onClick={handleClick}>
{ isHandDeleved ? '确认手工发货' : '去发货' }
</Button>
} />
......
......@@ -32,10 +32,7 @@ export const useSelfTable = () => {
render: (text, record) => {
// 查看订单, 需根据状态显示不同schema
return (
// <EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?page_type=-1&id=${record.id}&preview=1`}>
// {text}
// </EyePreview>
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?id=${record.id}`}>
<EyePreview url={`/memberCenter/tranactionAbility/saleOrder/readyConfirmDelevedOrder/preview?id=${record.id}`}>
{text}
</EyePreview>
)
......@@ -104,7 +101,6 @@ export const useSelfTable = () => {
]
const handleConfirm = async (record) => {
// history.push(`/memberCenter/tranactionAbility/saleOrder/orderPreview?page_type=7&id=${record.id}&preview=0&orderDeliveryDetailsId=${record.orderDeliveryDetailsId}`)
history.push(`/memberCenter/tranactionAbility/saleOrder/readyConfirmDelevedOrder/detail?id=${record.id}&orderDeliveryDetailsId=${record.orderDeliveryDetailsId}`)
}
......
......@@ -6,7 +6,6 @@ import { baseOrderListColumns } from '../../constant'
// 业务hooks, 待新增订单
export const useSelfTable = () => {
const handleConfirm = async (record) => {
// history.push(`/memberCenter/tranactionAbility/saleOrder/orderPreview?page_type=3&id=${record.id}&preview=1`)
history.push(`/memberCenter/tranactionAbility/saleOrder/readyConfirmOrder/detail?id=${record.id}`)
}
const secondColumns: any[] = baseOrderListColumns.concat([
......
......@@ -32,10 +32,7 @@ export const useSelfTable = () => {
render: (text, record) => {
// 查看订单, 需根据状态显示不同schema
return (
// <EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?page_type=-1&id=${record.id}&preview=1`}>
// {text}
// </EyePreview>
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?id=${record.id}`}>
<EyePreview url={`/memberCenter/tranactionAbility/saleOrder/readyConfirmReturnOrder/preview?id=${record.id}`}>
{text}
</EyePreview>
)
......@@ -104,7 +101,6 @@ export const useSelfTable = () => {
]
const handleConfirm = async (record) => {
// history.push(`/memberCenter/tranactionAbility/saleOrder/orderPreview?page_type=8&id=${record.id}&preview=0&orderDeliveryDetailsId=${record.orderDeliveryDetailsId}`)
history.push(`/memberCenter/tranactionAbility/saleOrder/readyConfirmReturnOrder/detail?id=${record.id}&orderDeliveryDetailsId=${record.orderDeliveryDetailsId}`)
}
......
......@@ -65,10 +65,7 @@ export const useSelfTable = () => {
render: (text, record) => {
// 查看订单, 需根据状态显示不同schema
return (
// <EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?page_type=-1&id=${record.id}&preview=1`}>
// {text}
// </EyePreview>
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderPreview?id=${record.id}`}>
<EyePreview url={`/memberCenter/tranactionAbility/saleOrder/readyPayResult/preview?id=${record.id}`}>
{text}
</EyePreview>
)
......@@ -143,7 +140,6 @@ export const useSelfTable = () => {
]
const handleConfirm = async (record) => {
// history.push(`/memberCenter/tranactionAbility/saleOrder/orderPreview?page_type=4&id=${record.id}&preview=0`)
history.push(`/memberCenter/tranactionAbility/saleOrder/readyPayResult/detail?id=${record.id}`)
}
......
......@@ -13,7 +13,6 @@ export const useSelfTable = () => {
const handleSubmit = async (record) => {
if (record.purchaseOrderInteriorState === SaleOrderInsideWorkState.FILLING_ORDER) {
// history.push(`/memberCenter/tranactionAbility/saleOrder/orderPreview?id=${record.id}&preview=0&page_type=9`)
history.push(`/memberCenter/tranactionAbility/saleOrder/readyReturnDocument/detail?id=${record.id}`)
}
}
......
......@@ -10,7 +10,6 @@ export const useSelfTable = () => {
const ref = useRef<any>({})
const handleSubmit = async (record) => {
if (record.purchaseOrderInteriorState === SaleOrderInsideWorkState.TWO_LEVEL_AUDIT_ORDER) {
// history.push(`/memberCenter/tranactionAbility/saleOrder/orderPreview?id=${record.id}&preview=0&page_type=2`)
history.push(`/memberCenter/tranactionAbility/saleOrder/secondApprovedOrder/detail?id=${record.id}`)
}
}
......
This diff is collapsed.
import React, { useState, Fragment } from 'react';
import cx from 'classnames';
import { Row } from 'antd';
import { Link, Helmet } from 'umi'
import { FormPage, RiskCheck } from 'god'
import { IFormControllers, IFormButtonTypes } from 'god/dist/src/form-page'
import './index.less'
const GetBack: React.FC = () => {
const [validButton, setValidButton] = useState(true)
const finish = (value: any) => {
console.log(value, 'finish')
}
const handleSubmit = (value: any) => {
console.log(value, 'handleSubmit')
}
const getBcakForm: IFormControllers[] = [
{
type: 'Input',
name: 'phonemail',
span: 24,
inputProps: {
type: 'phonemail',
placeholder: '请输入您的邮箱/手机',
},
rules: [
{ required: true, message: '邮箱/手机为必填项!' }
]
},
// {
// span: 24,
// // @ts-ignore
// custom: () => <RiskCheck />
// },
{
type: 'Verification',
name: 'smsCode',
span: 24,
inputProps: {
}
},
{
type: 'Input',
name: 'password',
span: 24,
inputProps: {
type: 'password',
placeholder: '设置你的密码',
},
rules: [
{ required: true, message: '密码为必填项!' },
{ pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,20}$/, message: '密码长度8-20个字符,必须包含大小写字母和数字!' }
],
},
{
type: 'Input',
name: 'confirm',
span: 24,
dependencies: ['password'],
inputProps: {
type: 'password',
placeholder: '请再次输入密码',
},
rules: [
{ required: true, message: '请再次确认密码!' },
({ getFieldValue }) => ({
validator(rule, value) {
if (!value || getFieldValue('password') === value) {
return Promise.resolve();
}
return Promise.reject('两次的密码输入不一致!');
},
}),
]
},
]
const getBackButtons: IFormButtonTypes[] = [
{
text: '提交',
type: 'primary',
htmlType: 'submit',
block: true,
disabled: false,
}
]
return (
<Fragment>
<Helmet>
<title>找回密码</title>
</Helmet>
<Row className={'getBackBox'}>
<div className={cx('getBackForm')}>
<div className={'formBox'}>
<FormPage
renderFormLists={getBcakForm}
renderButtonLists={getBackButtons}
onSubmit={handleSubmit}
>
<Row justify='center' align='middle'>
<Link to='/user/login' className={'back'}>返回登录页</Link>
</Row>
</FormPage>
</div>
</div>
</Row>
</Fragment>
)
}
export default GetBack
......@@ -303,7 +303,6 @@
.getBackBox {
position: relative;
padding-top: 60px;
&>h2 {
width: 100%;
.make-center(text);
......@@ -315,7 +314,7 @@
margin-left: auto;
margin-right: auto;
width: 1190px;
padding-bottom: 60px;
.formBox {
width: 320px;
.make-center-space(margin, 40, 40);
......
......@@ -27,7 +27,7 @@ const User: React.FC = () => {
}
const forgetPassword = () => {
history.push('/user/getBack')
history.push('/user/forget')
console.log('找回密码')
}
......
import { ISchema } from '@formily/antd';
import { PATTERN_MAPS } from '@/constants/regExp';
import { GlobalConfig } from '@/global/config';
import { PublicApi } from '@/services/api';
export const registerStep0Schema: ISchema = {
type: 'object',
......@@ -47,9 +48,12 @@ export const registerStep0Schema: ISchema = {
},
password: {
type: 'string',
required: true,
"x-rules": [
{
required: true,
message: '请输入密码'
},
{
pattern: PATTERN_MAPS.password,
message: '请输入正确的密码'
}
......@@ -62,9 +66,12 @@ export const registerStep0Schema: ISchema = {
},
confirmPassword: {
type: 'string',
required: true,
"x-rules": [
{
required: true,
message: '请输入密码'
},
{
pattern: PATTERN_MAPS.password,
message: '请输入正确的密码'
}
......@@ -178,20 +185,107 @@ export const forgetPwdSchema: ISchema = {
full: true
},
properties: {
email: {
account: {
type: 'string',
"x-rules": [
{
pattern: PATTERN_MAPS.email,
message: '请输入正确的邮箱'
required: true,
message: '请输入正确的邮箱/手机号'
},
{
pattern: PATTERN_MAPS.phoneAndEmail,
message: '请输入正确的邮箱/手机号'
},
],
"x-component-props": {
placeholder: '请您输入邮箱/手机',
size: 'large'
}
},
smsCode: {
type: 'string',
"x-component": 'Phone',
required: true,
"x-rules": [
{
pattern: PATTERN_MAPS.smsCode,
message: '请输入正确的6位验证码'
}
],
"x-component-props": {
placeholder: '请输入你的邮箱(选填)',
size: 'large',
type: 'email'
smsFn: (form, setLoading, callback) => {
form.validate('account').then(() => {
const values = form.getFieldValue('account')
const isPhone = PATTERN_MAPS.phone.test(values)
const isEmail = PATTERN_MAPS.email.test(values)
if (isPhone) {
setLoading(true)
PublicApi.postMemberRegisterPswSms({
countryCode: '+86',
phone: values
}).then(res => {
if (res.code === 1000) {
callback()
}
})
}
if (isEmail) {
setLoading(true)
PublicApi.postMemberRegisterPswEmail({
email: values
}).then(res => {
if (res.code === 1000) {
callback()
}
})
}
})
}
}
},
password: {
type: 'string',
"x-rules": [
{
required: true,
message: '请输入密码'
},
{
pattern: PATTERN_MAPS.password,
message: '请输入正确的密码'
}
],
"x-component-props": {
type: 'password',
placeholder: '请设置你的新密码',
size: 'large'
}
},
confirmPassword: {
type: 'string',
"x-rules": [
{
required: true,
message: '请输入密码'
},
{
pattern: PATTERN_MAPS.password,
message: '请输入正确的密码'
}
],
"x-component-props": {
type: 'password',
placeholder: '请再次输入密码',
size: 'large',
}
},
submit: {
type: 'string',
"x-component": 'Submit'
}
}
}
}
......
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