Commit df5cb6d0 authored by 前端-钟卫鹏's avatar 前端-钟卫鹏

fix: 对接商品上架引导

parent f18da48c
......@@ -1075,4 +1075,19 @@ export default {
'commodity.checkProductDetail.modal.checkRemark.message': 'Please fill in the reason.',
'commodity.checkProductDetail.modal.checkRemark.placeholder': 'Please fill in the reason',
'commodity.putawayGuide.modal.finsih': 'finished',
'commodity.putawayGuide.modal.title': 'Guidance of commodity listing',
'commodity.putawayGuide.modal.h3.1': 'Create self-owned mall (shop)',
'commodity.putawayGuide.modal.p.1': 'You have not created the store.',
'commodity.putawayGuide.modal.button.1': 'To create the store',
'commodity.putawayGuide.modal.h3.2': 'Position inventory allocation',
'commodity.putawayGuide.modal.p.2.first': 'Your choice of goods:',
'commodity.putawayGuide.modal.p.2.last': 'Position inventory has not been configured.',
'commodity.putawayGuide.modal.button.2': 'Position inventory allocation',
'commodity.putawayGuide.modal.h3.3': 'Configuring the Order Process',
'commodity.putawayGuide.modal.p.3.first': 'Your choice of goods:',
'commodity.putawayGuide.modal.p.3.last': 'The order process has not been configured.',
'commodity.putawayGuide.modal.button.3': 'Configuring the Order Process',
'commodity.putawayGuide.modal.h3.4': 'Goods shelves',
}
......@@ -1075,4 +1075,19 @@ export default {
'commodity.checkProductDetail.modal.checkRemark.message': '이유를 기재해 주십시오',
'commodity.checkProductDetail.modal.checkRemark.placeholder': '이유를 기재해 주십시오',
'commodity.putawayGuide.modal.finsih': '완료',
'commodity.putawayGuide.modal.title': '상품 진열대 안내',
'commodity.putawayGuide.modal.h3.1': '자영업을 설립하다',
'commodity.putawayGuide.modal.p.1': '매장을 만들지 않았습니다.',
'commodity.putawayGuide.modal.button.1': '매장을 만들다',
'commodity.putawayGuide.modal.h3.2': '창고 재고 설정',
'commodity.putawayGuide.modal.p.2.first': '선택한 제품:',
'commodity.putawayGuide.modal.p.2.last': '창고 재고가 설정되지 않았습니다.',
'commodity.putawayGuide.modal.button.2': '창고 재고 설정',
'commodity.putawayGuide.modal.h3.3': '주문 프로세스 설정',
'commodity.putawayGuide.modal.p.3.first': '선택한 제품:',
'commodity.putawayGuide.modal.p.3.last': '주문 프로세스가 설정되지 않았습니다.',
'commodity.putawayGuide.modal.button.3': '주문 프로세스 설정',
'commodity.putawayGuide.modal.h3.4': '진열대 상품',
}
......@@ -1075,4 +1075,21 @@ export default {
'commodity.checkProductDetail.modal.checkRemark': '审核不通过原因',
'commodity.checkProductDetail.modal.checkRemark.message': '请填写原因',
'commodity.checkProductDetail.modal.checkRemark.placeholder': '请填写原因',
'commodity.putawayGuide.modal.finsih': '已完成',
'commodity.putawayGuide.modal.title': '商品上架引导',
'commodity.putawayGuide.modal.h3.1': '创建自营商城(店铺)',
'commodity.putawayGuide.modal.p.1': '您还没有创建店铺。',
'commodity.putawayGuide.modal.button.1': '创建店铺',
'commodity.putawayGuide.modal.h3.2': '配置仓位库存',
'commodity.putawayGuide.modal.p.2.first': '您选择的商品:',
'commodity.putawayGuide.modal.p.2.last': '还没有配置仓位库存。',
'commodity.putawayGuide.modal.button.2': '配置仓位库存',
'commodity.putawayGuide.modal.h3.3': '配置订单流程',
'commodity.putawayGuide.modal.p.3.first': '您选择的商品:',
'commodity.putawayGuide.modal.p.3.last': '还没有配置订单流程。',
'commodity.putawayGuide.modal.button.3': '配置订单流程',
'commodity.putawayGuide.modal.h3.4': '上架商品',
'commodity.putawayGuide.modal.button.4': '上架商品',
}
......@@ -334,8 +334,8 @@ export default {
'purchaseOrder.yifahuopici': '已发货批次',
'purchaseOrder.rukudanhao': '入库单号',
'purchaseOrder.querenshenhecao': '确认审核操作',
'purchaseOrder.shifouquerenshen': '是否确认审核入库单号为',
'purchaseOrder.decaigouruku': '的采购入库单?',
'purchaseOrder.shifouquerenshen': '是否确认审核收货单号为',
'purchaseOrder.decaigouruku': '的采购收货单?',
'purchaseOrder.bianjicaigoushou': '编辑采购收货单',
'purchaseOrder.xinzengcaigoushou': '新增采购收货单',
'purchaseOrder.chakancaigoushou': '查看采购收货单',
......
......@@ -38,4 +38,9 @@
bottom: 0;
}
}
.guideItemCurrent {
background: rgba(0,169,143,0.04);
border: 1px solid #00A98F;
}
}
import React from 'react'
import { useIntl } from 'umi';
import { useIntl, history } from 'umi';
import { Button, Modal, ModalProps } from 'antd';
import cx from 'classnames'
import styles from './index.less'
export interface PutawayGuideProps extends ModalProps {
visible?: boolean,
/** 当前步骤 */
currentStep: number,
/** 提示的商品id数组 */
data?: number[],
}
export enum GuideMenu {
/** 创建店铺 */
CreateShop = 1,
/** 配置库存 */
ConfigStore,
/** 配置流程 */
ConfigProcess,
/** 上架商品 */
Putaway
}
/**
......@@ -14,39 +30,75 @@ export interface PutawayGuideProps extends ModalProps {
*/
const PutawayGuide: React.FC<PutawayGuideProps> = (props) => {
const intl = useIntl();
const {visible = false, ...restProps } = props
const {
visible = false,
data = [],
currentStep,
...restProps
} = props
console.log(props)
return (
<Modal
title="商品上架引导"
title={intl.formatMessage({ id: 'commodity.putawayGuide.modal.title', defaultMessage: "商品上架引导" })}
visible={visible}
footer={null}
destroyOnClose={true}
{...restProps}
>
<div className={styles.giudeContainer}>
<div className={styles.guideItem}>
<h3>创建自营商城(店铺)</h3>
<p>您还没有创建店铺。</p>
<Button>创建店铺</Button>
<div className={cx(styles.guideItem, currentStep === GuideMenu.CreateShop ? styles.guideItemCurrent : null)}>
<h3>{intl.formatMessage({ id: 'commodity.putawayGuide.modal.h3.1', defaultMessage: '创建自营商城(店铺)' })}</h3>
{
currentStep === GuideMenu.CreateShop
?
<>
<p>{intl.formatMessage({ id: 'commodity.putawayGuide.modal.p.1', defaultMessage: '您还没有创建店铺。' })}</p>
<Button type="link" onClick={() => history.push('/memberCenter/shopAbility/infoManage')}>{intl.formatMessage({ id: 'commodity.putawayGuide.modal.button.1', defaultMessage: '创建店铺' })}</Button>
</>
:
(currentStep > GuideMenu.CreateShop ? <Button disabled={true}>{intl.formatMessage({id: 'commodity.putawayGuide.modal.finsih', defaultMessage: '已完成'})}</Button> : null)
}
<span className={styles.stepNumber}>1</span>
</div>
<div className={styles.guideItem}>
<h3>配置仓位库存</h3>
<p>您还没有配置仓位库存。</p>
<Button>配置仓位库存</Button>
<div className={cx(styles.guideItem, currentStep === GuideMenu.ConfigStore ? styles.guideItemCurrent : null)}>
<h3>{intl.formatMessage({id: 'commodity.putawayGuide.modal.h3.2', defaultMessage: '配置仓位库存'})}</h3>
{
currentStep === GuideMenu.ConfigStore
?
<>
<p>{intl.formatMessage({id: 'commodity.putawayGuide.modal.p.2.first',defaultMessage:'您选择的商品:'})}{data.toString()} {intl.formatMessage({id: 'commodity.putawayGuide.modal.p.2.last',defaultMessage:'还没有配置仓位库存。'})}</p>
<Button onClick={()=> history.push('/memberCenter/commodityAbility/repositories')}>{intl.formatMessage({id: 'commodity.putawayGuide.modal.button.2', defaultMessage: '配置仓位库存'})}</Button>
</>
:
(currentStep > GuideMenu.ConfigStore ? <Button disabled={true}>{intl.formatMessage({id: 'commodity.putawayGuide.modal.finsih', defaultMessage: '已完成'})}</Button> : null)
}
<span className={styles.stepNumber}>2</span>
</div>
<div className={styles.guideItem}>
<h3>配置订单流程</h3>
<p>您还没有配置订单流程。</p>
<Button>配置订单流程</Button>
<div className={cx(styles.guideItem, currentStep === GuideMenu.ConfigProcess ? styles.guideItemCurrent : null)}>
<h3>{intl.formatMessage({id: 'commodity.putawayGuide.modal.h3.3', defaultMessage: '配置订单流程'})}</h3>
{
currentStep === GuideMenu.ConfigProcess
?
<>
<p>{intl.formatMessage({id: 'commodity.putawayGuide.modal.p.3.first',defaultMessage:'您选择的商品:'})}{data.toString()} {intl.formatMessage({id: 'commodity.putawayGuide.modal.p.3.last',defaultMessage:'还没有配置订单流程。'})}</p>
<Button onClick={()=> history.push('/memberCenter/tranactionAbility/transactionRules') }>{intl.formatMessage({id: 'commodity.putawayGuide.modal.button.3', defaultMessage: '配置订单流程'})}</Button>
</>
:
(currentStep > GuideMenu.ConfigProcess ? <Button disabled={true}>{intl.formatMessage({id: 'commodity.putawayGuide.modal.finsih', defaultMessage: '已完成'})}</Button> : null)
}
<span className={styles.stepNumber}>3</span>
</div>
<div className={styles.guideItem}>
<h3>上架商品</h3>
{/* <p>您还没有创建店铺。</p>
<Button>创建店铺</Button> */}
<h3>{intl.formatMessage({id: 'commodity.putawayGuide.modal.h3.4', defaultMessage: '上架商品'})}</h3>
{/* {
currentStep === GuideMenu.Putaway
?
<Button>{intl.formatMessage({id: 'commodity.putawayGuide.modal.button.4', defaultMessage: '上架商品'})}</Button>
:
null
} */}
<span className={styles.stepNumber}>4</span>
</div>
</div>
......
This diff is collapsed.
......@@ -16,7 +16,7 @@ import FormDetailWrapper from '@/components/FormDetailWrapper'
import { FormDetailContext } from '@/formSchema/context'
import { useFormDetail } from '@/formSchema/effects/useFormDetail'
import { postPurchaseRequisitionCreate, postPurchaseRequisitionUpdate } from '@/services/PurchaseV2Api'
import { getOrderBuyerDetail } from '@/services/OrderNewV2Api'
import { getOrderBuyerReceiveDetail } from '@/services/OrderNewV2Api'
const addSchemaAction = createFormActions()
......@@ -36,13 +36,15 @@ const AddPurchaseReceiveOrder: React.FC<{}> = () => {
useEffect(() => {
if (id) {
setFormLoading(true)
getOrderBuyerDetail({ orderId: id }).then(res => {
const { data } = res
const _orderProductRequests = procurementRenderField(data)
setInitFormValue(() => procurmentRenderInit(data))
setTimeout(() => {
addSchemaAction.setFieldValue('products', _orderProductRequests)
}, 1000)
getOrderBuyerReceiveDetail({ orderId: id }).then(res => {
const { data, code } = res
if(code === 1000) {
const _orderProductRequests = procurementRenderField(data)
setInitFormValue(() => procurmentRenderInit(data))
setTimeout(() => {
addSchemaAction.setFieldValue('detailList', _orderProductRequests)
}, 1000)
}
setFormLoading(false)
})
}
......@@ -87,13 +89,10 @@ const AddPurchaseReceiveOrder: React.FC<{}> = () => {
}
const renderTitle = () => {
// intl.formatMessage({ id: 'purchaseOrder.bianjixiaoshoufa', defaultMessage: '编辑销售发货单' })
// intl.formatMessage({ id: 'purchaseOrder.xinzengxiaoshoufa', defaultMessage: '新增销售发货单' })
// intl.formatMessage({ id: 'purchaseOrder.xinzengxiaoshoufa', defaultMessage: '新增销售发货单' })
if(preview) {
return intl.formatMessage({ id: 'purchaseOrder.chakancaigoushou', defaultMessage: '查看采购收货单' })
}
return intl.formatMessage({ id: 'purchaseOrder.xinzengxiaoshoufa', defaultMessage: '新增销售发货单' })
return intl.formatMessage({ id: 'purchaseOrder.xinzengcaigoushou', defaultMessage: '新增采购收货单' })
}
return (<div>
......
......@@ -50,7 +50,7 @@ const basicInfo: ISchema = {
span: 1
}
},
deliverTime: {
orderTime: {
type: 'string',
"x-component": 'date',
title: intl.formatMessage({ id: 'purchaseOrder.danjushijian', defaultMessage: '单据时间' }),
......@@ -59,13 +59,14 @@ const basicInfo: ISchema = {
disabledDate: current => {
return current && current < moment().startOf('day')
},
showTime: true,
style: { width: '100%' }
},
"x-mega-props": {
span: 1
}
},
purpose: {
inventoryName: {
type: 'string',
title: intl.formatMessage({ id: 'purchaseOrder.duiyingcangku', defaultMessage: '对应仓库' }),
"x-rules": [
......@@ -78,7 +79,7 @@ const basicInfo: ISchema = {
span: 1
}
},
purpose1: {
inventoryRole: {
type: 'string',
title: intl.formatMessage({ id: 'purchaseOrder.cangkurenyuan', defaultMessage: '仓库人员' }),
"x-rules": [
......@@ -150,6 +151,11 @@ const relatedInfo: ISchema = {
title: intl.formatMessage({ id: 'purchaseOrder.fahuodizhi', defaultMessage: '发货地址' }),
"x-component": 'text',
},
orderId: {
type: 'number',
title: '订单号',
visible: false,
},
}
},
......@@ -166,7 +172,7 @@ const material: ISchema = {
id: 'orderMaterial',
},
properties: {
products: {
detailList: {
type: 'array',
"x-component": 'MultTable',
required: true,
......
......@@ -9,14 +9,14 @@ import { FORM_FILTER_PATH } from '@/formSchema/const'
import Submit from '@/components/NiceForm/components/Submit'
import DateRangePickerUnix from '@/components/NiceForm/components/DateRangePickerUnix'
import '../index.less'
import { getOrderBuyerPage } from '@/services/OrderNewV2Api';
import { getOrderBuyerCreateReceivePage } from '@/services/OrderNewV2Api';
// 待新增采购收货单
export interface ReadyAddPurchaseReceiveOrderProps {}
const fetchTableData = async (params) => {
const { data } = await getOrderBuyerPage(params)
const { data } = await getOrderBuyerCreateReceivePage(params)
return data
}
......
......@@ -6,6 +6,7 @@ import { formatTimeString } from '@/utils'
import StatusColors from '@/pages/transaction/components/statusColors'
import { FieldTimeOutlined } from '@ant-design/icons'
import TableOperation from '@/components/TableOperation'
import { postOrderBuyerValidateReceive } from '@/services/OrderNewV2Api'
export const useSelfTable = () => {
const ref = useRef<any>({})
......@@ -14,12 +15,12 @@ export const useSelfTable = () => {
const renderOptionButton = (record: any) => {
const buttonGroup = {
[intl.formatMessage({ id: 'purchaseOrder.shenhe', defaultMessage: '审核' })]: true,
[intl.formatMessage({ id: 'purchaseOrder.xinzengrukudan', defaultMessage: '新增入库单' })]: true,
[intl.formatMessage({ id: 'purchaseOrder.xinzengcaigoushouhuodan', defaultMessage: '新增采购收货单' })]: true,
}
const operationHandler = {
[intl.formatMessage({ id: 'purchaseOrder.shenhe', defaultMessage: '审核' })]: () => handleConfirm(record),
[intl.formatMessage({ id: 'purchaseOrder.xinzengrukudan', defaultMessage: '新增入库单' })]: () => handleAdd(record),
[intl.formatMessage({ id: 'purchaseOrder.xinzengcaigoushouhuodan', defaultMessage: '新增采购收货单' })]: () => handleAdd(record),
}
return (
<TableOperation
......@@ -37,7 +38,7 @@ export const useSelfTable = () => {
key: 'orderNo',
render: (text, record) => {
return (
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderList/preview?id=${record.id}`}>
<EyePreview url={`/memberCenter/tranactionAbility/purchaseOrder/orderList/preview?id=${record.orderId}`}>
{text}
</EyePreview>
)
......@@ -113,17 +114,16 @@ export const useSelfTable = () => {
const handleConfirm = async (record) => {
const modal = Modal.confirm({
title: intl.formatMessage({ id: 'purchaseOrder.querenshenhecao', defaultMessage: '确认审核操作' }),
content: `${intl.formatMessage({ id: 'purchaseOrder.shifouquerenshen', defaultMessage: '是否确认审核入库单号为' })}${record.invoiceNumber}${intl.formatMessage({ id: 'purchaseOrder.decaigouruku', defaultMessage: '的采购入库单?' })}`,
// onOk: async () => {
// const { code } = await postOrderAuditSalesInvoice({
// id: record.orderDeliveryDetailsId,
// orderId: record.id
// })
// if (code === 1000) {
// modal.destroy()
// ref.current.reload()
// }
// }
content: `${intl.formatMessage({ id: 'purchaseOrder.shifouquerenshen', defaultMessage: '是否确认审核收货单号为' })}${record.invoiceNumber}${intl.formatMessage({ id: 'purchaseOrder.decaigouruku', defaultMessage: '的采购收货单?' })}`,
onOk: async () => {
const { code } = await postOrderBuyerValidateReceive({
orderId: record.orderId
})
if (code === 1000) {
modal.destroy()
ref.current.reload()
}
}
})
}
......
......@@ -6,6 +6,7 @@ import { formatTimeString } from '@/utils'
import StatusColors from '@/pages/transaction/components/statusColors'
import { FieldTimeOutlined } from '@ant-design/icons'
import TableOperation from '@/components/TableOperation'
import { postOrderVendorValidateSellDelivery } from '@/services/OrderNewV2Api'
// 待新增销售发货单
export const useSelfTable = () => {
......@@ -118,16 +119,15 @@ export const useSelfTable = () => {
const modal = Modal.confirm({
title: intl.formatMessage({ id: 'saleOrder.querenshenhecao', defaultMessage: '确认审核操作' }),
content: `${intl.formatMessage({ id: 'saleOrder.shifouquerenshen', defaultMessage: '是否确认审核发货单号为' })}${record.deliverNo}${intl.formatMessage({ id: 'saleOrder.dexiaoshoufahuo', defaultMessage: '的销售发货单' })}?`,
// onOk: async () => {
// const { code } = await postOrderAuditSalesInvoiceOrder({
// id: record.orderDeliveryDetailsId,
// orderId: record.id
// })
// if (code === 1000) {
// modal.destroy()
// ref.current.reload()
// }
// }
onOk: async () => {
const { code } = await postOrderVendorValidateSellDelivery({
orderId: record.id
})
if (code === 1000) {
modal.destroy()
ref.current.reload()
}
}
})
}
......
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