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
linweijiong
jinfa-platform
Commits
c6a0b8b8
Commit
c6a0b8b8
authored
Aug 10, 2021
by
前端-钟卫鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 处理srm订单编辑切换合同保存异常,商品新增导入上游商品操作
parent
a38c39d6
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
274 additions
and
31 deletions
+274
-31
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
...r/orderCollectSrm/components/contractModalTable/index.tsx
+3
-0
index.tsx
...nsaction/purchaseOrder/orderCollectSrm/constant/index.tsx
+1
-1
index.tsx
...pages/transaction/purchaseOrder/orderCollectSrm/index.tsx
+1
-1
useMaterialTable.tsx
.../purchaseOrder/orderCollectSrm/model/useMaterialTable.tsx
+2
-2
index.tsx
...nsaction/purchaseOrder/readyReceiveOrder/detail/index.tsx
+1
-1
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 @
c6a0b8b8
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 @
c6a0b8b8
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 @
c6a0b8b8
...
...
@@ -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 @
c6a0b8b8
...
...
@@ -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 @
c6a0b8b8
...
...
@@ -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 @
c6a0b8b8
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 @
c6a0b8b8
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 @
c6a0b8b8
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 @
c6a0b8b8
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 @
c6a0b8b8
...
...
@@ -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/purchaseOrder/orderCollectSrm/components/contractModalTable/index.tsx
View file @
c6a0b8b8
...
...
@@ -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 @
c6a0b8b8
...
...
@@ -368,7 +368,7 @@ export const materialInfoColumns: any[] = [
dataIndex
:
'amount'
,
align
:
'center'
,
key
:
'amount'
,
render
:
(
t
,
r
)
=>
t
?
`
${
t
.
toFixed
(
2
)}
`
:
null
render
:
(
t
,
r
)
=>
t
?
`
${
Number
(
t
)
.
toFixed
(
2
)}
`
:
null
},
// 接口调用
{
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/index.tsx
View file @
c6a0b8b8
...
...
@@ -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 @
c6a0b8b8
...
...
@@ -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
.
toFixed
(
2
)
}
</
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
.
toFixed
(
2
)
}
</
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/readyReceiveOrder/detail/index.tsx
View file @
c6a0b8b8
...
...
@@ -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/readyConfirmDelevedOrder/detail/index.tsx
View file @
c6a0b8b8
...
...
@@ -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 @
c6a0b8b8
...
...
@@ -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