Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shenshaokai
jinfa-platform
Commits
98166728
Commit
98166728
authored
Aug 10, 2021
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'v2' of
http://10.0.0.22:3000/lingxi/lingxi-business-paltform
into v2
parents
33be0639
bb95613b
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
283 additions
and
189 deletions
+283
-189
CustomCategorySearch.tsx
src/components/NiceForm/components/CustomCategorySearch.tsx
+2
-2
CustomInputSearch.tsx
src/components/NiceForm/components/CustomInputSearch.tsx
+1
-5
addProducts.tsx
src/pages/commodity/products/addProducts.tsx
+3
-0
otherForm.tsx
src/pages/commodity/products/addProductsItem/otherForm.tsx
+2
-0
priceAttributeForm.tsx
...commodity/products/addProductsItem/priceAttributeForm.tsx
+1
-1
index.tsx
...dity/products/components/upperProductModalTable/index.tsx
+91
-0
index.tsx
src/pages/commodity/products/constant/index.tsx
+149
-0
index.tsx
src/pages/commodity/products/effect/index.tsx
+0
-10
index.tsx
src/pages/commodity/products/index.tsx
+11
-2
useOrderDetail.tsx
...ages/transaction/_public/order/effects/useOrderDetail.tsx
+4
-4
index.tsx
src/pages/transaction/common/index.tsx
+1
-1
index.tsx
...transaction/purchaseOrder/orderCollect/constant/index.tsx
+0
-31
index.tsx
...nsaction/purchaseOrder/orderCollectB2b/constant/index.tsx
+0
-21
index.tsx
...pages/transaction/purchaseOrder/orderCollectB2b/index.tsx
+1
-2
usePaymentInfo.tsx
...on/purchaseOrder/orderCollectB2b/model/usePaymentInfo.tsx
+1
-65
useProductTable.tsx
...n/purchaseOrder/orderCollectB2b/model/useProductTable.tsx
+4
-4
index.tsx
...r/orderCollectSrm/components/contractModalTable/index.tsx
+3
-0
index.tsx
...nsaction/purchaseOrder/orderCollectSrm/constant/index.tsx
+3
-13
index.tsx
...pages/transaction/purchaseOrder/orderCollectSrm/index.tsx
+1
-1
useMaterialTable.tsx
.../purchaseOrder/orderCollectSrm/model/useMaterialTable.tsx
+2
-2
index.tsx
...ransaction/purchaseOrder/readyAddOrder/constant/index.tsx
+0
-11
index.tsx
...nsaction/purchaseOrder/readyReceiveOrder/detail/index.tsx
+1
-1
index.tsx
...ansaction/saleOrder/readyApprovedOrder/constant/index.tsx
+0
-11
index.tsx
...ction/saleOrder/readyConfirmDelevedOrder/detail/index.tsx
+1
-1
addRule.tsx
src/pages/transaction/transactionRules/addRule.tsx
+1
-1
No files found.
src/components/NiceForm/components/CustomCategorySearch.tsx
View file @
98166728
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
Input
,
Space
,
Select
,
Button
,
Cascader
}
from
'antd'
;
import
{
useFieldState
,
FormPath
,
FormEffectHooks
,
useFormEffects
}
from
'@formily/antd'
;
import
{
Space
,
Cascader
}
from
'antd'
;
import
{
FormEffectHooks
,
useFormEffects
}
from
'@formily/antd'
;
/**
* 筛选项 搜索和远程数据结合的 Cascader
...
...
src/components/NiceForm/components/CustomInputSearch.tsx
View file @
98166728
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
Input
,
Space
,
Select
,
Button
}
from
'antd'
;
import
{
CaretUpOutlined
,
CaretDownOutlined
}
from
'@ant-design/icons'
;
import
{
useFieldState
,
FormPath
,
FormEffectHooks
,
useFormEffects
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
Space
,
Select
}
from
'antd'
;
/**
* 筛选项 搜索和远程数据结合的select
...
...
src/pages/commodity/products/addProducts.tsx
View file @
98166728
...
...
@@ -87,6 +87,9 @@ const AddProducts: React.FC<{}> = (props) => {
afterService
:
data
.
afterService
,
isTax
:
true
,
taxRate
:
data
.
taxRate
,
title
:
data
.
title
,
keywords
:
data
.
keywords
,
description
:
data
.
description
,
})
setProductName
(
data
?.
name
)
setProductPriceType
(
data
?.
priceType
)
...
...
src/pages/commodity/products/addProductsItem/otherForm.tsx
View file @
98166728
...
...
@@ -36,6 +36,7 @@ const OtherForm: React.FC<Iprops> = (props) => {
onRef
(
otherFormRef
)
if
(
id
){
console
.
log
(
getOtherFormParamsByEdit
,
'getOtherFormParamsByEdit'
)
otherForm
.
setFieldsValue
(
getOtherFormParamsByEdit
)
}
},
[])
...
...
@@ -77,6 +78,7 @@ const OtherForm: React.FC<Iprops> = (props) => {
message
:
"请选择是否提供发票"
}]
}
style=
{
{
display
:
"none"
}
}
initialValue=
{
true
}
>
<
Radio
.
Group
size=
"small"
disabled=
{
disabledInvoice
}
>
<
Radio
.
Button
value=
{
true
}
style=
{
{
width
:
100
,
textAlign
:
'center'
}
}
>
是
</
Radio
.
Button
>
...
...
src/pages/commodity/products/addProductsItem/priceAttributeForm.tsx
View file @
98166728
...
...
@@ -329,7 +329,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
})
:
_tempObj
[
_attributeNameArr
[
i
]
||
_attributeNameArr
[
0
]]
=
_rowArr
// 当一项变动的时候 找_attributeNameArr可能会找不到 找不到的情况下置为索引0的那项
if
(
history
.
location
.
query
?.
id
){
// 编辑的时候,先指定数据中的货品id,如果是重新组合的不存在id就使用选择的货品中的第一个,如果没有置为0;同理,不存在单价就置为{}
_tempObj
[
'对应货品'
]
=
selectedGoods
.
length
>
0
?
selectedGoods
[
0
].
id
:
0
_tempObj
[
'对应货品'
]
=
selectedGoods
.
length
>
0
?
selectedGoods
[
i
].
id
:
0
// 通过 isUpdateAttribute 判断是否需要携带unitPriceAndPicList的id字段
if
(
!
productInfoByEdit
.
isUpdateAttribute
){
_tempObj
[
'规格ID'
]
=
productInfoByEdit
.
unitPriceAndPicList
[
i
]?.
id
...
...
src/pages/commodity/products/components/upperProductModalTable/index.tsx
0 → 100644
View file @
98166728
import
React
,
{
useEffect
,
useRef
,
useState
}
from
'react'
import
ModalTable
,
{
ModalTableProps
}
from
'@/components/ModalTable'
import
{
PublicApi
}
from
'@/services/api'
import
{
useRowSelectionTable
}
from
'@/hooks/useRowSelectionTable'
import
{
upperCommodityColumns
,
upperCommoditySchema
}
from
'../../constant'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
import
Search
from
'@/components/NiceForm/components/Search'
import
Submit
from
'@/components/NiceForm/components/Submit'
import
SearchSelect
from
'@/components/NiceForm/components/SearchSelect'
;
import
CustomCategorySearch
from
'@/components/NiceForm/components/CustomCategorySearch'
import
CustomInputSearch
from
'@/components/NiceForm/components/CustomInputSearch'
export
interface
UpperProductModalTableProps
extends
ModalTableProps
{
type
?:
'radio'
|
'checkbox'
,
currentRef
?:
any
,
tableRef
?:
any
,
}
// 选择采购合同弹窗
const
UpperProductModalTable
:
React
.
FC
<
UpperProductModalTableProps
>
=
(
props
)
=>
{
const
{
type
=
'radio'
,
currentRef
,
tableRef
,
...
restProps
}
=
props
const
[
visible
,
setVisible
]
=
useState
(
false
)
const
[
confirmLoading
,
setConfirmLoading
]
=
useState
<
boolean
>
(
false
)
const
[
rowSelection
,
rowSelectionCtl
]
=
useRowSelectionTable
({
type
})
useEffect
(()
=>
{
if
(
currentRef
)
{
currentRef
.
current
=
{
setVisible
,
visible
,
rowSelectionCtl
}
}
},
[])
const
handleConfirm
=
async
()
=>
{
const
items
=
rowSelectionCtl
.
selectRow
if
(
items
.
length
)
{
setConfirmLoading
(
true
)
PublicApi
.
postProductCommoditySaveUpperCommodity
({
idList
:
items
.
map
(
item
=>
item
.
id
)
}).
then
(
res
=>
{
const
{
data
,
code
}
=
res
if
(
code
===
1000
)
{
rowSelectionCtl
.
setSelectedRowKeys
([])
setVisible
(
false
)
setTimeout
(()
=>
{
tableRef
&&
tableRef
.
current
&&
tableRef
.
current
.
reload
()
},
800
)
}
}).
finally
(()
=>
setConfirmLoading
(
false
))
}
}
return
(
<
ModalTable
modalTitle=
'选择上游商品'
width=
{
900
}
columns=
{
upperCommodityColumns
}
visible=
{
visible
}
confirm=
{
handleConfirm
}
loading=
{
confirmLoading
}
cancel=
{
()
=>
setVisible
(
false
)
}
fetchTableData=
{
async
(
params
)
=>
(
await
PublicApi
.
getProductCommodityGetUpperCommodityList
({...
params
})).
data
}
rowSelection=
{
rowSelection
}
resetModal=
{
{
destroyOnClose
:
true
,
forceRender
:
true
}
}
modalType=
'none'
tableProps=
{
{
rowKey
:
'id'
,
}
}
formilyProps=
{
{
ctx
:
{
schema
:
upperCommoditySchema
,
components
:
{
ModalSearch
:
Search
,
SearchSelect
,
Submit
,
CustomCategorySearch
,
CustomInputSearch
},
effects
:
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'name'
,
FORM_FILTER_PATH
,
);
}
}
}
}
{
...
restProps
}
/>
)
}
UpperProductModalTable
.
defaultProps
=
{}
export
default
UpperProductModalTable
src/pages/commodity/products/constant/index.tsx
View file @
98166728
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
ISchema
}
from
'@formily/antd'
;
import
{
ColumnType
}
from
'antd/lib/table'
;
import
moment
from
'moment'
;
import
React
,
{
ReactNode
}
from
'react'
...
...
@@ -128,3 +131,149 @@ export const validatorNumberRange = (rule: any, value: any, callback: any, min?:
callback
(
err
)
}
}
// 上游商品 弹框列
export
const
upperCommodityColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'ID'
,
dataIndex
:
'id'
,
key
:
'id'
,
},
{
title
:
'商品名称'
,
dataIndex
:
'name'
,
key
:
'name'
,
// width: 240,
// ellipsis: true,
},
{
title
:
'商品品类'
,
dataIndex
:
[
'customerCategory'
,
'name'
],
key
:
'customerCategory.name'
,
},
{
title
:
'商品品牌'
,
dataIndex
:
[
'brand'
,
'name'
],
key
:
'brand.name'
,
},
{
title
:
'单位'
,
dataIndex
:
'unitName'
,
key
:
'unitName'
,
},
{
title
:
'产品定价'
,
dataIndex
:
'priceType'
,
key
:
'priceType'
,
render
:
(
text
:
any
,
reocrd
:
any
)
=>
priceTypeLabel
[
text
]
},
{
title
:
'价格'
,
dataIndex
:
'min'
,
key
:
'min'
,
render
:
(
text
:
any
,
reocrd
:
any
)
=>
{
if
(
reocrd
.
priceType
===
1
){
if
(
reocrd
.
max
===
reocrd
.
min
)
return
<>
¥
{
reocrd
.
min
}
</>
else
return
<>
¥
{
reocrd
.
min
}
~ ¥
{
reocrd
.
max
}
</>
}
if
(
reocrd
.
priceType
===
3
){
if
(
reocrd
.
max
===
reocrd
.
min
)
return
<>
{
reocrd
.
min
}
</>
else
return
<>
{
reocrd
.
min
}
~
{
reocrd
.
max
}
</>
}
if
(
reocrd
.
priceType
===
2
)
return
null
}
},
{
title
:
'供应会员'
,
dataIndex
:
'memberName'
,
key
:
'memberName'
,
},
{
title
:
'商品状态'
,
dataIndex
:
'status'
,
key
:
'status'
,
render
:
(
text
:
any
,
record
:
any
)
=>
productStatusLabel
[
text
]
},
]
export
const
upperCommoditySchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
name
:
{
type
:
'string'
,
'x-component'
:
'ModalSearch'
,
'x-component-props'
:
{
placeholder
:
'商品名称'
,
align
:
'flex-left'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
rowStyle
:
{
flexWrap
:
'nowrap'
,
style
:
{
marginRight
:
0
}
},
colStyle
:
{
marginTop
:
20
,
},
},
properties
:
{
brandName
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'请输入商品品牌'
,
},
},
customerCategoryName
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'请输入商品品类'
,
},
},
priceType
:
{
type
:
'number'
,
enum
:
[
{
label
:
'现货价格'
,
value
:
1
},
{
label
:
'价格需要询问'
,
value
:
2
},
],
"x-component-props"
:
{
placeholder
:
'请选择商品定价'
,
style
:
{
width
:
'160px'
},
}
},
memberName
:
{
type
:
'string'
,
"x-component-props"
:
{
placeholder
:
'请输入供应会员'
,
style
:
{
width
:
'160px'
},
}
},
submit
:
{
"x-component"
:
'Submit'
,
"x-mega-props"
:
{
span
:
1
},
"x-component-props"
:
{
children
:
'查询'
}
}
}
}
}
}
src/pages/commodity/products/effect/index.tsx
View file @
98166728
import
React
,
{
useEffect
}
from
'react'
import
{
ISchemaFormActions
,
FormEffectHooks
,
IFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
const
{
onFieldValueChange$
}
=
FormEffectHooks
// 高级筛选schema中用于输入搜索品牌的Effect
export
const
searchBrandOptionEffect
=
(
context
:
any
,
fieldName
:
string
)
=>
{
context
.
getFieldState
(
fieldName
,
state
=>
{
// console.log(state.props['x-component-props'].searchValue, 'pagesearchvalue') // 此处可以实时获取到输入并暂存在schema props的值
PublicApi
.
getProductSelectGetSelectBrand
({
name
:
state
.
props
[
'x-component-props'
].
searchValue
}).
then
(
res
=>
{
context
.
setFieldState
(
fieldName
,
state
=>
{
state
.
props
[
'x-component-props'
].
dataoption
=
res
.
data
...
...
@@ -21,11 +16,6 @@ export const searchBrandOptionEffect = (context: any, fieldName: string) => {
export
const
searchCustomerCategoryOptionEffect
=
(
context
:
any
,
fieldName
:
string
)
=>
{
context
.
getFieldState
(
fieldName
,
state
=>
{
// PublicApi.getProductSelectGetSelectCustomerCategory({ name: state.props['x-component-props'].searchValue }).then(res => {
// context.setFieldState(fieldName, state => {
// state.props['x-component-props'].dataoption = res.data
// })
// })
PublicApi
.
getProductCustomerGetCustomerCategoryTree
().
then
(
res
=>
{
context
.
setFieldState
(
fieldName
,
state
=>
{
state
.
props
[
'x-component-props'
].
dataoption
=
res
.
data
...
...
src/pages/commodity/products/index.tsx
View file @
98166728
import
React
,
{
useState
,
useEffect
,
useRef
,
ReactNode
,
useMemo
}
from
'react'
import
React
,
{
useState
,
useEffect
,
useRef
,
useMemo
}
from
'react'
import
{
history
}
from
'umi'
import
{
Button
,
Form
,
Card
,
Modal
,
Result
,
Progress
,
Select
,
Tooltip
,
Checkbox
,
Row
,
Col
,
Dropdown
,
Input
,
Menu
,
Space
,
message
,
InputNumber
}
from
'antd'
import
{
Button
,
Form
,
Card
,
Modal
,
Result
,
Progress
,
Select
,
Tooltip
,
Checkbox
,
Row
,
Col
,
Dropdown
,
Menu
,
Space
,
message
}
from
'antd'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
PlusOutlined
,
...
...
@@ -28,6 +28,7 @@ import { getAuth } from '@/utils/auth'
import
useSetSearchValueInTable
from
'@/hooks/useSetSearchValueInTable'
import
{
priceTypeLabel
,
productStatusLabel
}
from
'./constant'
import
EyePreview
from
'@/components/EyePreview'
import
UpperProductModalTable
from
'./components/upperProductModalTable'
const
{
Option
}
=
Select
;
const
{
confirm
}
=
Modal
;
...
...
@@ -65,6 +66,7 @@ const Products: React.FC<{}> = () => {
const
[
currentOptionId
,
setCurrentOptionId
]
=
useState
()
const
[
isDisabledOKbtn
,
setIsDisabledOKbtn
]
=
useState
<
boolean
>
(
false
)
const
currentRef
=
useRef
<
any
>
()
const
upperRef
=
useRef
<
any
>
({})
const
[
shopId
,
setShopId
]
=
useState
<
any
>
()
/** 带参数查询,给表单带默认值 */
...
...
@@ -501,6 +503,10 @@ const Products: React.FC<{}> = () => {
});
}
const
handleUpperCommodity
=
()
=>
{
upperRef
.
current
.
setVisible
(
true
)
}
const
menuMore
=
(
<
Menu
onClick=
{
(
e
)
=>
handleMenuClick
(
e
)
}
>
<
Menu
.
Item
key=
"1"
icon=
{
<
DeleteOutlined
/>
}
>
...
...
@@ -521,6 +527,7 @@ const Products: React.FC<{}> = () => {
<
PlusOutlined
/>
新建
</
Button
>
{
/* <Button style={{margin:'0 16px'}} onClick={()=>setImportModal(true)}>导入数据</Button> */
}
<
Button
style=
{
{
margin
:
'0 16px'
}
}
onClick=
{
handleUpperCommodity
}
>
导入上游供应商品
</
Button
>
<
Dropdown
overlay=
{
menuMore
}
trigger=
{
[
'click'
]
}
>
<
Button
>
更多
<
DownOutlined
/>
...
...
@@ -671,6 +678,8 @@ const Products: React.FC<{}> = () => {
</
Form
.
Item
>
</
Form
>
</
Modal
>
{
/* 选择上游商品 */
}
<
UpperProductModalTable
currentRef=
{
upperRef
}
type=
"checkbox"
tableRef=
{
ref
}
/>
</
PageHeaderWrapper
>
)
}
...
...
src/pages/transaction/_public/order/effects/useOrderDetail.tsx
View file @
98166728
...
...
@@ -10,7 +10,7 @@ import { history } from 'umi'
interface
OrderDetailHookProps
{
// 采购、销售、待收货、待确认发货
type
:
'purchaseOrder'
|
'saleOrder'
|
'
readyReceiveOrder'
|
'
readyConfirmDelevedOrder'
type
:
'purchaseOrder'
|
'saleOrder'
|
'
p_readyReceiveOrder'
|
's_
readyConfirmDelevedOrder'
}
// 订单详情, 支持两种订单模式
...
...
@@ -28,7 +28,7 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
const
dataRef
=
useRef
<
any
>
([
{
label
:
'对应报价单号'
,
name
:
'quoteNo'
,
span
:
8
,
render
:
text
=>
<
Link
to=
{
'/'
}
>
{
text
}
</
Link
>
},
{
label
:
'订单摘要'
,
name
:
'digest'
,
span
:
8
},
{
label
:
type
===
'saleOrder'
?
'采购会员'
:
'供应会员'
,
name
:
type
===
'saleOrder
'
?
'buyerMemberName'
:
'vendorMemberName'
,
span
:
8
},
{
label
:
type
[
0
]
===
's'
?
'采购会员'
:
'供应会员'
,
name
:
type
[
0
]
===
's
'
?
'buyerMemberName'
:
'vendorMemberName'
,
span
:
8
},
{
label
:
'下单模式'
,
name
:
'orderModeName'
,
span
:
8
},
{
label
:
'订单类型'
,
name
:
'orderTypeName'
,
span
:
8
},
{
label
:
'下单时间'
,
name
:
'createTime'
,
span
:
8
,
render
:
text
=>
formatTimeString
(
text
)
},
...
...
@@ -59,9 +59,9 @@ export const useOrderDetail = (options: OrderDetailHookProps) => {
break
;
case
'saleOrder'
:
api
=
PublicApi
.
getOrderVendorDetail
;
break
;
case
'readyReceiveOrder'
:
api
=
PublicApi
.
getOrderBuyerValidateReceiveDetail
;
case
'
p_
readyReceiveOrder'
:
api
=
PublicApi
.
getOrderBuyerValidateReceiveDetail
;
break
;
case
'readyConfirmDelevedOrder'
:
api
=
PublicApi
.
getOrderVendorValidateDeliveryDetail
;
case
'
s_
readyConfirmDelevedOrder'
:
api
=
PublicApi
.
getOrderVendorValidateDeliveryDetail
;
break
;
default
:
api
=
PublicApi
.
getOrderBuyerDetail
;
...
...
src/pages/transaction/common/index.tsx
View file @
98166728
...
...
@@ -2,7 +2,7 @@ import React from 'react'
import
{
Tooltip
}
from
'antd'
;
import
{
QuestionCircleOutlined
}
from
'@ant-design/icons'
/** NiceForm lable帮助信息 */
/** NiceForm lable
?
帮助信息 */
export
const
help
=
(
title
:
string
,
desc
:
string
)
=>
{
return
(
<
div
>
...
...
src/pages/transaction/purchaseOrder/orderCollect/constant/index.tsx
View file @
98166728
...
...
@@ -124,37 +124,6 @@ export const orderCombination = {
]
}
export
const
orderTypeLabel
=
[
''
,
'现货采购'
,
'现货采购'
,
'询价采购'
,
'需求采购'
,
'集采'
,
'渠道直采'
,
'渠道直采'
,
'渠道现货'
,
'渠道现货'
,
// '采购询价合同',
// '采购竞价合同',
// '采购招标合同',
]
// export const orderTypeLabelMap = {
// "5": "现货采购",
// "6": "现货采购",
// "7": "询价采购",
// "8": "需求采购",
// "9": "集采",
// "10": "渠道直采",
// "11": "渠道直采",
// "12": "渠道现货",
// "13": "渠道现货",
// // "24": "积分兑换",
// // "25": "渠道积分兑换",
// "32": "采购询价合同",
// "33": "采购招标合同",
// "34": "采购竞价合同",
// }
export
const
orderTypeLabelMap
=
()
=>
{
let
tempObject
:
{
[
key
:
number
]:
string
}
=
{}
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/constant/index.tsx
View file @
98166728
...
...
@@ -2,8 +2,6 @@ import React from 'react'
import
{
formatTimeString
}
from
'@/utils'
import
{
Row
}
from
'antd'
import
{
DELIVERY_TYPE
,
OrderModalType
,
PurchaseOrderOutWorkStateTexts
}
from
'@/constants/order'
import
moment
from
'moment'
import
{
GlobalConfig
}
from
'@/global/config'
;
import
{
AddressPop
}
from
'@/pages/transaction/components/addressPop'
// 简单控制价格区间的组件
...
...
@@ -50,21 +48,6 @@ export const orderCombination = {
],
}
export
const
orderTypeLabel
=
[
''
,
'现货采购'
,
'现货采购'
,
'询价采购'
,
'需求采购'
,
'集采'
,
'渠道直采'
,
'渠道直采'
,
'渠道现货'
,
'渠道现货'
,
// '采购询价合同',
// '采购竞价合同',
// '采购招标合同',
]
export
const
orderTypeLabelMap
=
{
'3'
:
'询价采购'
,
'12'
:
'采购询价合同'
,
...
...
@@ -175,19 +158,16 @@ export const paymentInformationColumns: any[] = [
{
title
:
'支付次数'
,
dataIndex
:
'payCount'
,
// align: 'center',
key
:
'payCount'
},
{
title
:
'支付环节'
,
dataIndex
:
'payNode'
,
// align: 'center',
key
:
'payNode'
},
{
title
:
'外部状态'
,
dataIndex
:
'externalState'
,
// align: 'center',
key
:
'externalState'
,
render
:
text
=>
PurchaseOrderOutWorkStateTexts
[
text
]
},
...
...
@@ -207,7 +187,6 @@ export const paymentInformationColumns: any[] = [
{
title
:
'支付金额'
,
dataIndex
:
'payPrice'
,
// align: 'center',
key
:
'payPrice'
},
{
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/index.tsx
View file @
98166728
...
...
@@ -24,10 +24,9 @@ import { useProductTable } from './model/useProductTable'
import
styled
from
'styled-components'
import
{
useUpdate
}
from
'@umijs/hooks'
import
{
PublicApi
}
from
'@/services/api'
import
{
formatTimeString
,
omit
,
findLastIndexFlowState
}
from
'@/utils'
import
{
formatTimeString
,
omit
}
from
'@/utils'
import
{
changeRouterTitleByStatus
}
from
'../../_public/order/utils'
import
{
ReadyAddOrderDetailContext
}
from
'../context'
import
AuditProcess
from
'@/components/AuditProcess'
import
{
help
}
from
'../../common'
import
styles
from
'./index.less'
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/model/usePaymentInfo.tsx
View file @
98166728
...
...
@@ -14,70 +14,6 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
cell
:
PayInfoCell
},
}
const
initPayWayList
=
(
data
)
=>
{
if
(
!
data
)
{
return
[]
}
let
result
=
[]
for
(
let
item
of
data
)
{
if
(
result
.
some
(
tempItem
=>
tempItem
.
payType
===
item
.
payType
))
{
result
=
result
.
map
(
resItem
=>
{
if
(
resItem
.
payType
===
item
.
payType
)
{
resItem
.
payList
=
[...
resItem
.
payList
,
item
]
}
return
resItem
})
}
else
{
let
payVal
=
""
switch
(
item
.
payType
)
{
case
1
:
payVal
=
"线上支付"
break
case
2
:
payVal
=
"线下支付"
break
case
3
:
payVal
=
"授信支付"
break
case
4
:
payVal
=
"货到付款"
break
default
:
// 不在上述范围之内 为100账结 101月结
if
(
item
.
settlementWay
===
100
)
payVal
=
'账期'
if
(
item
.
settlementWay
===
101
)
payVal
=
'月结'
break
}
result
.
push
({
payVal
,
payType
:
item
.
id
===
-
1
?
item
.
id
:
item
.
payType
,
payList
:
item
.
id
===
-
1
?
[{
...
item
,
way
:
item
.
settlementWay
===
100
?
`账期
${
item
.
settlementDays
}
天`
:
`月结
${
item
.
settlementDate
}
号`
,
payType
:
item
.
id
,
// 具体结算方式
wayId
:
item
.
settlementWay
,
id
:
item
.
settlementWay
,
}]
:
[
item
]
})
}
}
console
.
log
(
result
,
'result'
)
return
result
}
// useEffect(() => {
// PublicApi.getPayPayWayList().then(res => {
// const { code, data } = res
// if (code === 1000) {
// const newColumns = [...columns]
// newColumns[5].formItemProps.options = initPayWayList(data)
// paywayData.current = data
// setColumns(newColumns)
// }
// })
// }, [])
useEffect
(()
=>
{
// 当选择报价单/会员/商品时有memberId传入时 调用支付方式api
...
...
@@ -99,7 +35,7 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
roleId
:
memberRoleId
,
shopId
:
ctx
.
getFieldValue
(
'shopId'
),
orderMode
:
ctx
.
getFieldValue
(
'orderMode'
),
productIds
:
ctx
.
getFieldValue
(
'products'
).
map
(
item
=>
item
.
i
d
)
productIds
:
ctx
.
getFieldValue
(
'products'
).
map
(
item
=>
item
.
productI
d
)
}).
then
(
res
=>
{
const
{
code
,
data
}
=
res
if
(
code
===
1000
)
{
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/model/useProductTable.tsx
View file @
98166728
...
...
@@ -75,7 +75,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
orderMode
=
ctx
.
getFieldValue
(
'orderMode'
)
const
handleDelete
=
(
record
)
=>
{
const
newData
=
[...
ctx
.
getFieldValue
(
'
orderProductReques
ts'
)]
const
newData
=
[...
ctx
.
getFieldValue
(
'
produc
ts'
)]
// 删除formvalue
const
colIndex
=
newData
.
findIndex
(
v
=>
v
.
id
===
record
.
id
)
newData
.
splice
(
colIndex
,
1
)
...
...
@@ -83,7 +83,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
// 删除选中的项
rowSelectionCtl
.
setSelectRow
(
newData
)
rowSelectionCtl
.
setSelectedRowKeys
(
newData
.
map
(
v
=>
v
.
id
))
ctx
.
setFieldValue
(
'
orderProductReques
ts'
,
newData
)
ctx
.
setFieldValue
(
'
produc
ts'
,
newData
)
// 商品行数变动 清空之前的支付信息
if
(
pageStatus
===
PageStatus
.
ADD
)
{
...
...
@@ -149,7 +149,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
ctx
.
setFieldValue
(
'paymentInformationResponses'
,
[])
}
return
new
Promise
((
resolve
,
reject
)
=>
{
const
newData
=
[...
ctx
.
getFieldValue
(
'
orderProductReques
ts'
)];
const
newData
=
[...
ctx
.
getFieldValue
(
'
produc
ts'
)];
const
index
=
newData
.
findIndex
(
item
=>
row
.
id
===
item
.
id
);
const
item
=
newData
[
index
];
row
[
'money'
]
=
getUnitPriceTotal
(
row
)
...
...
@@ -160,7 +160,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
...
item
,
...
row
,
});
ctx
.
setFieldValue
(
'
orderProductReques
ts'
,
newData
)
ctx
.
setFieldValue
(
'
produc
ts'
,
newData
)
resolve
({
item
,
newData
})
})
};
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/components/contractModalTable/index.tsx
View file @
98166728
...
...
@@ -35,6 +35,7 @@ const ContractModalTable:React.FC<ContractModalTableProps> = (props) => {
if
(
visible
)
{
/** 这里分 询价 竞价 招标 三种采购合同类型 */
let
sourceType
=
null
;
const
contract
=
schemaAction
.
getFieldValue
(
'contract'
)
switch
(
schemaAction
.
getFieldValue
(
'orderMode'
))
{
case
OrderModalType
.
PURCHASE_BIDDING_CONTRACT_ORDER
:
sourceType
=
3
;
...
...
@@ -46,6 +47,7 @@ const ContractModalTable:React.FC<ContractModalTableProps> = (props) => {
sourceType
=
2
;
break
;
}
rowSelectionCtl
.
setSelectedRowKeys
([
contract
[
'contractId'
]])
setOriginType
(
sourceType
)
}
},
[
visible
])
...
...
@@ -53,6 +55,7 @@ const ContractModalTable:React.FC<ContractModalTableProps> = (props) => {
const
handleConfirm
=
async
()
=>
{
const
item
=
rowSelectionCtl
.
selectRow
[
0
]
if
(
item
)
{
schemaAction
.
setFieldValue
(
'products'
,
[])
schemaAction
.
setFieldValue
(
'contractNo'
,
item
.
contractNo
)
schemaAction
.
setFieldValue
(
'contract'
,
item
)
const
{
data
}
=
await
fetchOrderApi
.
getContractPurchaseMaterielList
({
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/constant/index.tsx
View file @
98166728
...
...
@@ -114,17 +114,6 @@ export const orderCombination = {
],
}
export
const
orderTypeLabel
=
[
''
,
'现货采购'
,
'现货采购'
,
'询价采购'
,
'需求采购'
,
'集采'
,
'渠道直采'
,
'渠道直采'
,
'渠道现货'
,
'渠道现货'
,
]
export
const
orderTypeLabelMap
=
{
'3'
:
'询价采购'
,
...
...
@@ -265,7 +254,7 @@ export const contractColumns: any[] = [
title
:
'合同剩余金额'
,
dataIndex
:
'freeAmount'
,
key
:
'freeAmount'
,
render
:
(
t
)
=>
`¥
${
t
}
`
render
:
(
t
)
=>
`¥
${
t
.
toFixed
(
2
)
}
`
},
{
title
:
'寻源类型'
,
...
...
@@ -343,7 +332,7 @@ export const materialInfoColumns: any[] = [
dataIndex
:
'price'
,
align
:
'left'
,
key
:
'price'
,
render
:
(
t
)
=>
`¥
${
t
}
`
render
:
(
t
)
=>
`¥
${
t
.
toFixed
(
2
)
}
`
},
// {
// title: '供方库存',
...
...
@@ -379,6 +368,7 @@ export const materialInfoColumns: any[] = [
dataIndex
:
'amount'
,
align
:
'center'
,
key
:
'amount'
,
render
:
(
t
,
r
)
=>
t
?
`
${
Number
(
t
).
toFixed
(
2
)}
`
:
null
},
// 接口调用
{
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/index.tsx
View file @
98166728
...
...
@@ -182,7 +182,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
}
// 合同数据字段转换
if
(
pageStatus
===
PageStatus
.
ADD
)
{
if
(
pageStatus
===
PageStatus
.
ADD
||
params
?.
contract
?.
id
)
{
params
.
contract
=
{
contractId
:
params
.
contract
.
id
,
contractNo
:
params
.
contract
.
contractNo
,
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/model/useMaterialTable.tsx
View file @
98166728
...
...
@@ -52,10 +52,10 @@ export const useMaterialTable = (ctx: ISchemaFormActions | ISchemaFormAsyncActio
// 渲染操作
materialInfoColumns
[
materialInfoColumns
.
length
-
1
].
render
=
(
text
,
record
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
handleDelete
(
record
)
}
>
删除
</
Button
>
// 渲染单价
materialInfoColumns
[
7
].
render
=
(
t
,
r
)
=>
<
span
style=
{
{
color
:
'red'
}
}
>
¥
{
r
.
price
}
</
span
>
materialInfoColumns
[
7
].
render
=
(
t
,
r
)
=>
<
span
style=
{
{
color
:
'red'
}
}
>
¥
{
Number
(
r
.
price
).
toFixed
(
2
)
}
</
span
>
}
else
{
// 渲染单价
materialInfoColumns
[
7
].
render
=
(
t
,
r
)
=>
<
span
style=
{
{
color
:
'red'
}
}
>
¥
{
r
.
price
}
</
span
>
materialInfoColumns
[
7
].
render
=
(
t
,
r
)
=>
<
span
style=
{
{
color
:
'red'
}
}
>
¥
{
Number
(
r
.
price
).
toFixed
(
2
)
}
</
span
>
materialInfoColumns
[
materialInfoColumns
.
length
-
1
].
render
=
(
t
,
r
)
=>
null
...
...
src/pages/transaction/purchaseOrder/readyAddOrder/constant/index.tsx
View file @
98166728
...
...
@@ -96,17 +96,6 @@ export const orderCombination = {
]
}
export
const
orderTypeLabel
=
[
''
,
'询价采购'
,
'需求采购'
,
'现货采购'
,
'集采'
,
'积分兑换'
,
'渠道直采'
,
'渠道现货'
,
'渠道积分兑换'
]
// 支付方式
export
const
payTypeLabel
=
[
{
...
...
src/pages/transaction/purchaseOrder/readyReceiveOrder/detail/index.tsx
View file @
98166728
...
...
@@ -11,7 +11,7 @@ import OrderHandReceivedModal from '@/pages/transaction/components/orderHandRece
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
const
ReadyReceiveOrderDetail
:
React
.
FC
=
()
=>
{
const
{
formContext
,
id
,
detailList
}
=
useOrderDetail
({
type
:
'readyReceiveOrder'
})
const
{
formContext
,
id
,
detailList
}
=
useOrderDetail
({
type
:
'
p_
readyReceiveOrder'
})
const
approvedRef
=
useRef
<
any
>
({})
const
{
batchNo
}
=
usePageStatus
()
...
...
src/pages/transaction/saleOrder/readyApprovedOrder/constant/index.tsx
View file @
98166728
...
...
@@ -96,17 +96,6 @@ export const orderCombination = {
]
}
export
const
orderTypeLabel
=
[
''
,
'询价采购'
,
'需求采购'
,
'现货采购'
,
'集采'
,
'积分兑换'
,
'渠道直采'
,
'渠道现货'
,
'渠道积分兑换'
]
// 支付方式
export
const
payTypeLabel
=
[
{
...
...
src/pages/transaction/saleOrder/readyConfirmDelevedOrder/detail/index.tsx
View file @
98166728
...
...
@@ -10,7 +10,7 @@ import OrderDetailSection from '../../../components/orderDetailSection';
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
const
ReadyConfirmDelevedOrderDetail
:
React
.
FC
=
()
=>
{
const
{
formContext
,
id
,
detailList
}
=
useOrderDetail
({
type
:
'readyConfirmDelevedOrder'
})
const
{
formContext
,
id
,
detailList
}
=
useOrderDetail
({
type
:
'
s_
readyConfirmDelevedOrder'
})
const
{
batchNo
}
=
usePageStatus
()
// // 是否是手工发货
// const isHandDeleved = formContext.data && formContext.data.purchaseOrderInteriorState === SaleOrderInsideWorkState.HAND_DELEVED_ORDER
...
...
src/pages/transaction/transactionRules/addRule.tsx
View file @
98166728
...
...
@@ -52,7 +52,7 @@ const AddRule:React.FC<{}> = (props) => {
params
.
expireHours
=
Number
(
params
.
expireHours
)
}
if
(
params
?.
payments
)
{
if
(
params
?.
payments
&&
params
.
payments
.
length
>
0
)
{
params
.
payments
=
params
.
payments
.
map
(
item
=>
({
...
item
,
payRate
:
Number
(
item
[
'payRate'
])
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment