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
6a55c215
Commit
6a55c215
authored
Aug 24, 2021
by
Bill
Browse files
Options
Browse Files
Download
Plain Diff
merge: 合并路由冲突
parents
b0b552af
88fc51dc
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
513 additions
and
86 deletions
+513
-86
index.ts
config/routes/index.ts
+0
-7
index.ts
.../exchangePrSubmit/components/ExchangeForm/schema/index.ts
+2
-2
index.tsx
...pplication/returnPrSubmit/components/ReturnForm/index.tsx
+1
-1
index.ts
...tion/returnPrSubmit/components/ReturnForm/schema/index.ts
+2
-2
addProducts.tsx
src/pages/commodity/products/addProducts.tsx
+1
-1
priceAttributeForm.tsx
...commodity/products/addProductsItem/priceAttributeForm.tsx
+8
-5
productDescFormDefault.tsx
...odity/products/addProductsItem/productDescFormDefault.tsx
+14
-15
index.tsx
...commodity/products/components/dragSortImageList/index.tsx
+10
-4
viewProducts.tsx
src/pages/commodity/products/viewProducts.tsx
+4
-4
index.tsx
src/pages/contract/components/examine/index.tsx
+1
-0
index.tsx
src/pages/contract/manage/details/index.tsx
+12
-8
modal.tsx
src/pages/payandSettle/paySetting/components/modal.tsx
+2
-1
number.tsx
src/pages/payandSettle/paySetting/components/number.tsx
+62
-0
index.tsx
src/pages/payandSettle/paySetting/index.tsx
+32
-5
index.less
...s/readySubmitReport/components/remarkBidReport/index.less
+1
-0
audit.tsx
...ges/transaction/dealAbility/confirmOffer/detail/audit.tsx
+88
-0
index.tsx
...ges/transaction/dealAbility/confirmOffer/detail/index.tsx
+20
-12
index.tsx
...es/transaction/dealAbility/confirmOffer/preview/index.tsx
+2
-0
index.tsx
...action/dealAbility/confirmOffer/waitSubmitOffer/index.tsx
+1
-1
index.tsx
...ges/transaction/dealAbility/inquiryOffer/detail/index.tsx
+113
-2
index.tsx
...es/transaction/dealAbility/inquiryOffer/preview/index.tsx
+2
-0
addForm.tsx
...saction/dealAbility/inquiryOffer/waitAddOffer/addForm.tsx
+6
-3
otherExplain.tsx
...ity/inquiryOffer/waitAddOffer/components/otherExplain.tsx
+18
-3
productQuote.tsx
...ity/inquiryOffer/waitAddOffer/components/productQuote.tsx
+104
-3
index.tsx
...s/transaction/dealAbility/productInquiry/detail/index.tsx
+2
-2
addForm.tsx
...ion/dealAbility/productInquiry/waitAddInquiry/addForm.tsx
+2
-2
index.tsx
...nsaction/purchaseOrder/orderCollectSrm/constant/index.tsx
+2
-2
index.ts
src/store/product/index.ts
+1
-1
No files found.
config/routes/index.ts
View file @
6a55c215
...
...
@@ -71,13 +71,6 @@ const memberCenterRoute = {
noMargin
:
true
,
name
:
'修改个人信息'
},
// {
// path: `/memberCenter/home`,
// name: 'home',
// icon: 'home',
// key: 'home',
// component: '@/pages/home',
// },
// ShopRoute,
// CommodityRoute,
// TranactionRoute,
...
...
src/pages/afterService/exchangeApplication/exchangePrSubmit/components/ExchangeForm/schema/index.ts
View file @
6a55c215
...
...
@@ -315,12 +315,12 @@ export const addSchema = (orderType: number): ISchema => {
title
:
'物料名称、规格'
,
'x-component'
:
'Text'
,
},
associatedC
ategory
:
{
c
ategory
:
{
type
:
'string'
,
title
:
'品类'
,
'x-component'
:
'Text'
,
},
associatedB
rand
:
{
b
rand
:
{
type
:
'string'
,
title
:
'品牌'
,
'x-component'
:
'Text'
,
...
...
src/pages/afterService/returnApplication/returnPrSubmit/components/ReturnForm/index.tsx
View file @
6a55c215
...
...
@@ -291,7 +291,7 @@ const ReturnForm: React.FC<BillsFormProps> = ({
{
title
:
'金额'
,
dataIndex
:
'paidAmount'
,
render
:
(
text
)
=>
`¥
${
text
}
`
,
render
:
(
text
,
record
)
=>
+
text
?
`¥
${
text
}
`
:
record
.
amount
,
},
{
title
:
'已退货数量'
,
...
...
src/pages/afterService/returnApplication/returnPrSubmit/components/ReturnForm/schema/index.ts
View file @
6a55c215
...
...
@@ -317,12 +317,12 @@ export const addSchema = (orderType: number): ISchema => {
title
:
'物料名称、规格'
,
'x-component'
:
'Text'
,
},
associatedC
ategory
:
{
c
ategory
:
{
type
:
'string'
,
title
:
'品类'
,
'x-component'
:
'Text'
,
},
associatedB
rand
:
{
b
rand
:
{
type
:
'string'
,
title
:
'品牌'
,
'x-component'
:
'Text'
,
...
...
src/pages/commodity/products/addProducts.tsx
View file @
6a55c215
...
...
@@ -315,7 +315,7 @@ const AddProducts: React.FC<{}> = (props) => {
let
numberKeys
=
Object
.
keys
(
_params
).
map
(
_
=>
Number
(
_
)).
filter
(
Boolean
)
if
(
numberKeys
.
length
>
0
)
numberKeys
.
map
(
item
=>
delete
_params
[
item
])
console
.
log
(
_params
,
'params'
)
PublicApi
.
postProductCommoditySaveOrUpdateCommodity
(
_params
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
setIsEnableCheck
(
false
)
...
...
src/pages/commodity/products/addProductsItem/priceAttributeForm.tsx
View file @
6a55c215
...
...
@@ -719,8 +719,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
// initialValue={planPrice}
>
{
// disabled=
{
!
productInfoByEdit
.
isUpdateAttribute
}
history
.
location
.
query
?.
id
?
<
Radio
.
Group
onChange=
{
handlePlanPriceChange
}
>
history
.
location
.
query
?.
id
?
<
Radio
.
Group
onChange=
{
handlePlanPriceChange
}
disabled=
{
!
productInfoByEdit
.
isUpdateAttribute
}
>
<
Radio
value=
{
1
}
>
现货价格
</
Radio
>
<
Radio
value=
{
2
}
>
价格需要询价
</
Radio
>
<
Radio
value=
{
3
}
>
积分兑换商品
</
Radio
>
...
...
@@ -815,7 +814,9 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
</
Form
.
Item
>
}
{
ladderPrice
?
<
Form
.
Item
ladderPrice
?
<
Form
.
Item
name=
"ladderRange"
label=
""
shouldUpdate=
{
true
}
...
...
@@ -905,7 +906,9 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
);
}
}
</
Form
.
List
>
</
Form
.
Item
>
:
<
Form
.
Item
</
Form
.
Item
>
:
<
Form
.
Item
label=
{
planPrice
===
3
?
"所需积分"
:
"单价"
}
name=
"uniquePrice"
rules=
{
[
...
...
@@ -920,7 +923,7 @@ const PriceAttributeForm: React.FC<Iprops> = (props) => {
}
]
}
>
<
InputNumber
min=
{
0
}
style=
{
{
width
:
'100%'
}
}
placeholder=
{
planPrice
===
3
?
"请输入积分"
:
"请输入价格"
}
/>
<
InputNumber
min=
{
0
}
style=
{
{
width
:
'100%'
,
overflow
:
'visible'
}
}
placeholder=
{
planPrice
===
3
?
"请输入积分"
:
"请输入价格"
}
/>
</
Form
.
Item
>
}
</
Form
>
...
...
src/pages/commodity/products/addProductsItem/productDescFormDefault.tsx
View file @
6a55c215
...
...
@@ -22,7 +22,6 @@ const schemaActions = createFormActions()
const
ProductDescFormDefualt
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
fileImageList
,
setFileImageList
]
=
useState
<
any
>
([])
const
[
videoList
,
setVideoList
]
=
useState
<
any
>
([])
const
[
hyperlinkList
,
setHyperlinkList
]
=
useState
<
any
>
([])
const
flagRef
=
useRef
<
boolean
>
(
false
)
const
currentRef
=
useRef
<
any
>
({})
const
[
isLoading
,
setIsLoading
]
=
useState
<
boolean
>
(
false
)
// 上传的加载状态
...
...
@@ -35,11 +34,11 @@ const ProductDescFormDefualt: React.FC<{}> = () => {
useEffect
(()
=>
{
if
(
history
.
location
.
query
?.
id
){
// 编辑状态下
setFileImageList
(
productInfoByEdit
.
commodityRemark
?.
image
)
setFileImageList
(
productInfoByEdit
.
commodityRemark
?.
image
List
)
setVideoList
(
productInfoByEdit
.
commodityRemark
?.
video
)
setProductDescription
({
video
:
productInfoByEdit
.
commodityRemark
?.
video
,
image
:
productInfoByEdit
.
commodityRemark
?.
image
,
image
List
:
productInfoByEdit
.
commodityRemark
?.
imageList
,
word
:
productInfoByEdit
.
commodityRemark
?.
word
})
}
...
...
@@ -58,14 +57,16 @@ const ProductDescFormDefualt: React.FC<{}> = () => {
},
[
selectCategoryId
])
useEffect
(()
=>
{
console
.
log
(
fileImageList
,
'fileImageList'
)
// 设置传输数据
setProductDescription
({
video
:
videoList
,
image
:
fileImageList
,
image
List
:
fileImageList
,
word
:
[]
})
},
[
fileImageList
,
videoList
])
/** 拖拽后 改变数据位置 */
const
changePosition
=
useCallback
((
dragIndex
:
number
,
hoverIndex
:
number
)
=>
{
const
dragImage
=
fileImageList
[
dragIndex
]
setFileImageList
(
...
...
@@ -78,10 +79,6 @@ const ProductDescFormDefualt: React.FC<{}> = () => {
)
},
[
fileImageList
])
// useEffect(() => {
// console.log(hyperlinkList)
// }, [hyperlinkList])
const
uploadImgProps
=
{
name
:
'file'
,
action
:
'/api/file/file/upload'
,
...
...
@@ -104,9 +101,9 @@ const ProductDescFormDefualt: React.FC<{}> = () => {
if
(
info
.
file
.
status
===
'done'
)
{
message
.
success
(
`
${
info
.
file
.
name
}
文件上传成功`
);
if
(
Array
.
isArray
(
fileImageList
)){
setFileImageList
([...
fileImageList
,
info
.
file
.
response
.
data
])
setFileImageList
([...
fileImageList
,
{
url
:
info
.
file
.
response
.
data
,
linkType
:
1
,
link
:
null
}
])
}
else
{
setFileImageList
([
info
.
file
.
response
.
data
])
setFileImageList
([
{
url
:
info
.
file
.
response
.
data
,
linkType
:
1
,
link
:
null
}
])
}
setIsLoading
(
false
)
}
else
if
(
info
.
file
.
status
===
'error'
)
{
...
...
@@ -165,9 +162,9 @@ const ProductDescFormDefualt: React.FC<{}> = () => {
}
const
handleAddHyperlink
=
(
idx
)
=>
{
console
.
log
(
'添加超链接'
)
currentRef
.
current
.
setVisible
(
true
)
schemaActions
.
setFieldValue
(
'idx'
,
idx
)
schemaActions
.
setFieldValue
(
'hyperlink'
,
fileImageList
[
idx
]?.
link
)
}
const
handleConfirm
=
()
=>
{
...
...
@@ -175,10 +172,12 @@ const ProductDescFormDefualt: React.FC<{}> = () => {
}
const
handleSubmit
=
async
(
value
)
=>
{
setHyperlinkList
(()
=>
{
let
url
=
[...
hyperlinkList
]
url
[
value
.
idx
]
=
value
.
hyperlink
return
url
console
.
log
(
value
)
const
{
idx
,
hyperlink
}
=
value
setFileImageList
(()
=>
{
let
list
=
[...
fileImageList
]
list
[
idx
][
'link'
]
=
hyperlink
return
list
})
currentRef
.
current
.
setVisible
(
false
)
}
...
...
src/pages/commodity/products/components/dragSortImageList/index.tsx
View file @
6a55c215
...
...
@@ -13,7 +13,7 @@ interface RenderProps {
id
:
number
,
key
:
number
,
index
:
number
,
item
:
string
,
item
:
ImageItemProps
,
handleDelete
:
(
idx
:
number
)
=>
void
,
handleAddlink
:
(
idx
:
number
)
=>
void
,
changePosition
:
(
dragIdx
:
number
,
hoverIdx
:
number
)
=>
void
,
...
...
@@ -74,7 +74,7 @@ const ImageItem: React.FC<RenderProps> = (props) => {
drag
(
drop
(
ref
))
return
<
div
key=
{
index
}
className=
{
cx
(
styles
.
descriptBox
,
styles
.
mediaContentBox
)
}
ref=
{
ref
}
>
<
p
className=
{
styles
.
divImage
}
><
img
src=
{
item
}
/></
p
>
<
p
className=
{
styles
.
divImage
}
><
img
src=
{
item
[
'url'
]
}
/></
p
>
<
div
className=
{
styles
.
rightBtn
}
>
<
Tooltip
title=
"删除图片"
>
<
Button
size=
"small"
onClick=
{
()
=>
handleDelete
(
index
)
}
icon=
{
<
DeleteOutlined
/>
}
/>
...
...
@@ -89,8 +89,14 @@ const ImageItem: React.FC<RenderProps> = (props) => {
</
div
>
}
interface
ImageItemProps
{
url
:
string
,
linkType
:
number
,
link
:
string
,
}
interface
DragSortImageListProps
{
imageList
:
string
[],
imageList
:
ImageItemProps
[],
handleDelete
:
(
idx
:
number
)
=>
void
,
handleAddlink
:
(
idx
:
number
)
=>
void
,
changePosition
:
(
dragIdx
:
number
,
hoverIdx
:
number
)
=>
void
,
...
...
@@ -99,7 +105,7 @@ interface DragSortImageListProps {
const
DragSortImageList
:
React
.
FC
<
DragSortImageListProps
>
=
(
props
)
=>
{
const
{
imageList
,
handleDelete
,
handleAddlink
,
changePosition
}
=
props
const
renderImageList
=
(
item
,
index
)
=>
{
const
renderImageList
=
(
item
:
ImageItemProps
,
index
:
number
)
=>
{
return
<
ImageItem
id=
{
index
}
key=
{
index
}
...
...
src/pages/commodity/products/viewProducts.tsx
View file @
6a55c215
...
...
@@ -587,17 +587,17 @@ const viewProducts: React.FC<{}> = () => {
}
{
/* 图片区块 */
}
{
productDetail
?.
commodityRemark
?.
image
?.
length
>
0
&&
productDetail
?.
commodityRemark
?.
image
List
?.
length
>
0
&&
<
div
className=
{
styles
.
descriptionBox
}
>
{
productDetail
?.
commodityRemark
?.
image
.
map
((
_item
,
_index
)
=>
_item
&&
<
div
key=
{
_index
}
className=
{
styles
.
imgItem
}
>
<
img
src=
{
_item
}
/>
productDetail
?.
commodityRemark
?.
image
List
.
map
((
_item
,
_index
)
=>
_item
&&
<
div
key=
{
_index
}
className=
{
styles
.
imgItem
}
>
<
img
src=
{
_item
.
url
}
/>
</
div
>)
}
</
div
>
}
{
productDetail
?.
commodityRemark
?.
image
?.
length
===
0
&&
productDetail
?.
commodityRemark
?.
video
?.
length
===
0
&&
productDetail
?.
commodityRemark
?.
word
?.
length
===
0
&&
productDetail
?.
commodityRemark
?.
image
List
?.
length
===
0
&&
productDetail
?.
commodityRemark
?.
video
?.
length
===
0
&&
productDetail
?.
commodityRemark
?.
word
?.
length
===
0
&&
<
p
className=
{
styles
.
descriptNull
}
>
暂无数据!
</
p
>
}
</
Card
>
...
...
src/pages/contract/components/examine/index.tsx
View file @
6a55c215
...
...
@@ -103,6 +103,7 @@ const Examine: React.FC<Iprops> = ({
ExamineFlag
:
false
,
code
:
1000
})
}
}).
finally
(()
=>
{
msg
();
...
...
src/pages/contract/manage/details/index.tsx
View file @
6a55c215
...
...
@@ -288,14 +288,18 @@ const Details = (props: any) => {
/* 提交审核的回调 */
const
getfetchData
=
(
data
)
=>
{
console
.
log
(
data
)
setIsModalVisible
(
data
.
ExamineFlag
)
if
(
data
.
code
===
1000
)
{
ref
.
current
.
reload
()
setTimeout
(()
=>
{
history
.
goBack
()
},
1000
)
}
// console.log(data,'2132131')
history
.
goBack
()
// return;
// setIsModalVisible(data.ExamineFlag)
// if (data.code === 1000) {
// ref.current.reload()
// setTimeout(() => {
// history.goBack()
// }, 500)
// } else {
// history.goBack()
// }
}
/* 提交表单 */
const
submitExamine
=
async
()
=>
{
...
...
src/pages/payandSettle/paySetting/components/modal.tsx
View file @
6a55c215
...
...
@@ -50,6 +50,7 @@ const ModalLayout: React.FC<ModalProps> = ({
const
[
form
]
=
Form
.
useForm
();
const
[
channel
,
setChannel
]
=
useState
<
channel
>
([])
const
handleChannelFind
=
useCallback
(
async
()
=>
{
await
PublicApi
.
getOrderMemberPaymentParameterChannelFind
({
payChannel
}).
then
(
res
=>
{
if
(
res
.
code
!==
1000
)
{
...
...
@@ -92,7 +93,7 @@ const ModalLayout: React.FC<ModalProps> = ({
return
(
<
Modal
width=
{
576
}
title=
'
新增
参数配置'
title=
'参数配置'
visible=
{
visible
}
onOk=
{
handleConfirm
}
onCancel=
{
handleCancel
}
...
...
src/pages/payandSettle/paySetting/components/number.tsx
0 → 100644
View file @
6a55c215
import
React
,
{
useState
,
ReactNode
,
useEffect
}
from
'react'
;
import
{
Input
}
from
'antd'
;
interface
NumberInputProps
{
/** 带标签的 input,设置后置标签 */
addonAfter
?:
ReactNode
,
/** 带标签的 input,设置前置标签 */
addonBefore
?:
ReactNode
,
/** 回显数据 */
fieldValue
?:
string
,
/** 输入框内容变化时的回调 */
onChange
?:
Function
,
/** 正则表达式 */
pattern
?:
RegExp
,
}
const
NumericInput
=
props
=>
{
const
{
value
,
onChange
,
addonAfter
,
addonBefore
,
pattern
}
=
props
;
const
handleChange
=
e
=>
{
const
{
value
}
=
e
.
target
;
// const reg = /^(\-)?\d+(\.(\d){0,2})?$/;
const
reg
=
pattern
;
if
(
(
!
isNaN
(
value
)
&&
reg
.
test
(
value
))
||
value
===
''
||
value
===
'-'
)
{
onChange
(
value
);
}
};
const
handleBulur
=
()
=>
{
let
valueTemp
=
value
;
if
(
value
.
charAt
(
value
.
length
-
1
)
===
'.'
||
value
===
'-'
)
{
valueTemp
=
value
.
slice
(
0
,
-
1
);
}
onChange
(
valueTemp
.
replace
(
/0*
(\d
+
)
/
,
'$1'
));
};
return
<
Input
value=
{
value
}
onChange=
{
handleChange
}
onBlur=
{
handleBulur
}
addonAfter=
{
addonAfter
}
addonBefore=
{
addonBefore
}
/>;
};
const
NumberInput
:
React
.
FC
<
NumberInputProps
>
=
(
props
)
=>
{
const
{
fieldValue
,
onChange
,
addonAfter
,
addonBefore
,
pattern
}
=
props
;
const
[
value
,
setValue
]
=
useState
(
''
);
const
handleChange
=
e
=>
{
setValue
(
e
);
onChange
(
e
);
};
useEffect
(()
=>
{
if
(
fieldValue
)
{
setValue
(
fieldValue
)
}
},
[
fieldValue
])
return
<
NumericInput
value=
{
value
}
onChange=
{
handleChange
}
addonAfter=
{
addonAfter
}
addonBefore=
{
addonBefore
}
pattern=
{
pattern
}
/>;
};
export
default
NumberInput
src/pages/payandSettle/paySetting/index.tsx
View file @
6a55c215
...
...
@@ -14,6 +14,7 @@ import wechat from '@/assets/icons/wechat_icon.png';
import
unionpay
from
'@/assets/icons/unionpay_icon.png'
;
import
balance
from
'@/assets/icons/balance_icon.png'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
NumberInput
from
'./components/number'
;
const
PIC_MAP
=
{
1
:
alipay
,
...
...
@@ -142,6 +143,7 @@ const PaySettingLayout = () => {
}
params
.
push
(
_obj
);
})
setPayChannel
(
data
[
0
].
channels
[
0
].
payChannel
)
setChannel
(
_channel
)
setParameters
(
params
);
setParameterFind
(
data
);
...
...
@@ -248,6 +250,16 @@ const PaySettingLayout = () => {
return
[...
_parameters
]
}
const
handleInputChange
=
(
e
,
code
,
payType
,
_index
)
=>
{
const
_parameters
=
[...
parameters
];
_parameters
.
forEach
(
item
=>
{
if
(
item
.
payType
===
payType
)
{
item
.
channels
[
0
].
parameters
[
_index
]
=
{
code
,
value
:
e
,
remark
:
''
}
}
})
setParameters
(
_parameters
)
}
return
(
<>
<
PeripheralLayout
...
...
@@ -276,7 +288,7 @@ const PaySettingLayout = () => {
>
<
div
className=
{
style
.
tabsLayout
}
>
{
item
.
payType
===
1
&&
(
<
Tabs
>
<
Tabs
onChange=
{
(
key
)
=>
setPayChannel
(
key
)
}
>
{
item
.
channels
.
map
((
_item
,
_index
)
=>
(
<
TabPane
tab=
{
<
Space
><
Image
preview=
{
false
}
width=
{
16
}
height=
{
16
}
src=
{
PIC_MAP
[
_item
.
payChannel
]
}
/>
{
_item
.
payChannelName
}
</
Space
>
}
key=
{
_item
.
payChannel
}
forceRender
>
<
Form
.
Item
...
...
@@ -375,18 +387,33 @@ const PaySettingLayout = () => {
shouldUpdate=
{
(
prevValues
,
currentValues
)
=>
prevValues
[
`payChannel_${_item.payChannel}`
]
!==
currentValues
[
`payChannel_${_item.payChannel}`
]
}
>
{
({
getFieldValue
})
=>
(
getFieldValue
(
`payChannel_${_item.payChannel}`
)
===
6
)
&&
(
getFieldValue
(
`payChannel_${_item.payChannel}`
)
===
6
)
&&
(
<
Fragment
>
<
Form
.
Item
label=
'授信额度设置'
>
<
Space
direction=
'vertical'
style=
{
{
width
:
'100%'
}
}
>
初始申请额度不超过:
<
Input
type=
'number'
addonAfter=
'人民币'
/>
<
NumberInput
onChange=
{
(
e
)
=>
handleInputChange
(
e
,
30
,
item
.
payType
,
0
)
}
addonAfter=
'人民币'
pattern=
{
/^
(\-)?\d
+
(\.(\d)
{0,2}
)?
$/
}
fieldValue=
{
_item
.
parameters
[
0
]?.
value
}
/>
允许满:
<
Input
type=
'number'
addonAfter=
'天'
/>
<
NumberInput
onChange=
{
(
e
)
=>
handleInputChange
(
e
,
31
,
item
.
payType
,
1
)
}
addonAfter=
'天'
pattern=
{
/^
[
1-9
]\d
*$/
}
fieldValue=
{
_item
.
parameters
[
1
]?.
value
}
/>
申请上调:
<
Input
type=
'number'
addonAfter=
'%'
/>
<
NumberInput
onChange=
{
(
e
)
=>
handleInputChange
(
e
,
32
,
item
.
payType
,
2
)
}
addonAfter=
'%'
pattern=
{
/^-
?\d
*
(\.\d
*
)?
$/
}
fieldValue=
{
_item
.
parameters
[
2
]?.
value
}
/>
</
Space
>
</
Form
.
Item
>
</
Fragment
>
...
...
src/pages/procurement/callForBids/readySubmitReport/components/remarkBidReport/index.less
View file @
6a55c215
...
...
@@ -41,6 +41,7 @@
color: #909399;
}
.rankContainer {
width: 256px;
.levelCircle {
display: inline-block;
width: 20px;
...
...
src/pages/transaction/dealAbility/confirmOffer/detail/audit.tsx
0 → 100644
View file @
6a55c215
import
React
,
{
useCallback
,
useState
}
from
'react'
;
import
{
Modal
,
Form
,
Radio
,
Tooltip
,
Typography
,
Input
,
Space
}
from
'antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
interface
AutditLayoutProps
{
/** 显示/隐藏 */
visible
?:
boolean
,
/** 关闭 */
onCancel
?:
Function
,
/** 确定 */
onOk
?:
Function
,
id
:
number
,
}
const
AuditLayout
:
React
.
FC
<
AutditLayoutProps
>
=
(
props
:
any
)
=>
{
const
{
visible
,
onCancel
,
onOk
,
id
}
=
props
;
const
[
form
]
=
Form
.
useForm
();
const
[
loading
,
setLoading
]
=
useState
<
boolean
>
(
false
);
const
handleSubmit
=
useCallback
(
async
()
=>
{
await
form
.
validateFields
().
then
(
res
=>
{
PublicApi
.
postTransactionNotarizeEnquiryQuotedPriceAffirm
({
id
,
state
:
res
.
state
,
audit
:
res
.
audit
}).
then
(
res
=>
{
if
(
res
.
code
!==
1000
)
{
setLoading
(
false
)
return
}
onOk
();
})
})
},
[
id
])
return
(
<
Modal
width=
{
600
}
title=
'单据审核'
visible=
{
visible
}
onCancel=
{
onCancel
}
confirmLoading=
{
loading
}
onOk=
{
handleSubmit
}
>
<
Form
layout=
'vertical'
form=
{
form
}
>
<
Form
.
Item
name=
'state'
initialValue=
{
1
}
>
<
Radio
.
Group
>
<
Tooltip
placement=
"topLeft"
title=
{
<
Space
direction=
'vertical'
>
<
Typography
.
Text
style=
{
{
color
:
'#FFF'
}
}
>
1.报价单查询列表,直接创建采购订单
</
Typography
.
Text
>
<
Typography
.
Text
style=
{
{
color
:
'#FFF'
}
}
>
2.新增采购订单,选择接受的报价单
</
Typography
.
Text
>
</
Space
>
}
>
<
Radio
value=
{
1
}
>
接受报价
</
Radio
>
</
Tooltip
>
<
Tooltip
placement=
"topLeft"
title=
{
<
Space
direction=
'vertical'
>
<
Typography
.
Text
style=
{
{
color
:
'#FFF'
}
}
>
1.不接受会员报价,必填不接受原因
</
Typography
.
Text
>
<
Typography
.
Text
style=
{
{
color
:
'#FFF'
}
}
>
2.不接受报价后,报价会员可再次报价
</
Typography
.
Text
>
</
Space
>
}
>
<
Radio
value=
{
0
}
>
不接受报价
</
Radio
>
</
Tooltip
>
</
Radio
.
Group
>
</
Form
.
Item
>
<
Form
.
Item
shouldUpdate=
{
(
prevValues
,
curValues
)
=>
prevValues
.
state
!==
curValues
.
state
}
>
{
({
getFieldValue
})
=>
getFieldValue
(
'state'
)
!==
1
&&
(
<
Form
.
Item
label=
'不接受报价原因'
name=
'audit'
rules=
{
[{
required
:
true
,
message
:
'请输入不接受报价原因'
}]
}
>
<
Input
.
TextArea
maxLength=
{
100
}
rows=
{
2
}
/>
</
Form
.
Item
>
)
}
</
Form
.
Item
>
</
Form
>
</
Modal
>
)
}
export
default
AuditLayout
;
src/pages/transaction/dealAbility/confirmOffer/detail/index.tsx
View file @
6a55c215
...
...
@@ -15,6 +15,7 @@ import GeneralLayout from '@/pages/transaction/components/detailLayout/component
import
RecordLyout
from
'@/pages/transaction/components/detailLayout/components/recordLyout'
;
import
ModalOperate
from
'@/pages/transaction/components/modalOperate'
;
import
{
ENTERPRISE_CENTER_URL
}
from
'@/constants'
;
import
AuditLayout
from
'./audit'
;
const
TABLINK
=
[
{
id
:
'progressLayout'
,
title
:
'流转进度'
},
...
...
@@ -63,6 +64,8 @@ const ConfirmOfferDetail = () => {
{
col
:
[
{
label
:
'单据时间'
,
extra
:
format
(
data
.
voucherTime
)
},
{
label
:
'询价联系人'
,
extra
:
data
.
contactName
},
{
label
:
'联系人电话'
,
extra
:
data
.
contactPhone
}
]
},
])
...
...
@@ -205,9 +208,6 @@ const ConfirmOfferDetail = () => {
case
'waitAuditInquiryTwo'
:
fetchSoure
=
PublicApi
.
postTransactionNotarizeEnquiryQuotedPriceAuditTwo
break
;
case
'waitSubmitOffer'
:
fetchSoure
=
PublicApi
.
postTransactionNotarizeEnquiryQuotedPriceAffirm
break
;
}
return
fetchSoure
}
...
...
@@ -257,15 +257,23 @@ const ConfirmOfferDetail = () => {
</
Fragment
>
}
/>
<
ModalOperate
id=
{
id
}
title=
"单据审核"
modalType=
"audit"
visible=
{
visible
}
fetch=
{
fetchLink
()
}
onCancel=
{
()
=>
setVisible
(
false
)
}
onOk=
{
()
=>
history
.
goBack
()
}
/>
{
pathPci
===
'waitSubmitOffer'
?
<
AuditLayout
id=
{
id
}
visible=
{
visible
}
onCancel=
{
()
=>
setVisible
(
false
)
}
onOk=
{
()
=>
history
.
goBack
()
}
/>
:
<
ModalOperate
id=
{
id
}
title=
"单据审核"
modalType=
"audit"
visible=
{
visible
}
fetch=
{
fetchLink
()
}
onCancel=
{
()
=>
setVisible
(
false
)
}
onOk=
{
()
=>
history
.
goBack
()
}
/>
}
</
Context
.
Provider
>
)
}
...
...
src/pages/transaction/dealAbility/confirmOffer/preview/index.tsx
View file @
6a55c215
...
...
@@ -71,6 +71,8 @@ const ConfirmOfferPreview = () => {
{
label
:
'交付日期'
,
extra
:
format
(
data
.
deliveryTime
)
},
{
label
:
'交付地址'
,
extra
:
data
.
fullAddress
},
{
label
:
'报价截止时间'
,
extra
:
format
(
data
.
quotationAsTime
)
},
{
label
:
'询价联系人'
,
extra
:
data
.
contactName
},
{
label
:
'联系人电话'
,
extra
:
data
.
contactPhone
}
]
},
{
...
...
src/pages/transaction/dealAbility/confirmOffer/waitSubmitOffer/index.tsx
View file @
6a55c215
...
...
@@ -80,7 +80,7 @@ const WaitSubmitOffer = () => {
title
:
'操作'
,
key
:
'options'
,
dataIndex
:
'options'
,
render
:
(
text
:
any
,
record
:
any
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
history
.
push
(
`/memberCenter/tranactionAbility/confirmOffer/waitSubmitOffer/offer/detail?id=${record.id}`
)
}
>
提交
报价单
</
Button
>
render
:
(
text
:
any
,
record
:
any
)
=>
<
Button
type=
'link'
onClick=
{
()
=>
history
.
push
(
`/memberCenter/tranactionAbility/confirmOffer/waitSubmitOffer/offer/detail?id=${record.id}`
)
}
>
确认
报价单
</
Button
>
}
]
...
...
src/pages/transaction/dealAbility/inquiryOffer/detail/index.tsx
View file @
6a55c215
import
React
,
{
Fragment
,
useEffect
,
useState
}
from
'react'
;
import
{
Button
,
Tag
,
Badge
,
Typography
,
Space
}
from
'antd'
;
import
React
,
{
Fragment
,
use
Callback
,
use
Effect
,
useState
}
from
'react'
;
import
{
Button
,
Tag
,
Badge
,
Typography
,
Space
,
Drawer
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
PeripheralLayout
from
'@/pages/transaction/components/detailLayout'
;
...
...
@@ -15,6 +15,7 @@ import ListLayout from '@/pages/transaction/components/detailLayout/components/l
import
GeneralLayout
from
'@/pages/transaction/components/detailLayout/components/generalLayout'
;
import
RecordLyout
from
'@/pages/transaction/components/detailLayout/components/recordLyout'
;
import
ModalOperate
from
'@/pages/transaction/components/modalOperate'
;
import
{
StandardTable
}
from
'god'
;
const
TABLINK
=
[
{
id
:
'progressLayout'
,
title
:
'流转进度'
},
...
...
@@ -42,6 +43,8 @@ const InquiryOfferDetail = () => {
const
[
otherEffect
,
setOtherEffect
]
=
useState
<
any
>
([]);
const
[
fileEffect
,
setFileEffect
]
=
useState
<
any
>
([]);
const
[
visible
,
setVisible
]
=
useState
<
boolean
>
(
false
);
const
[
commoditySkuId
,
setCommoditySkuId
]
=
useState
();
const
[
historyVisible
,
setHistoryVisible
]
=
useState
<
boolean
>
(
false
);
const
handleBasicEffect
=
(
data
:
any
)
=>
{
setBasicEffect
([
...
...
@@ -87,6 +90,8 @@ const InquiryOfferDetail = () => {
{
col
:
[
{
label
:
'其他说明'
,
extra
:
data
.
otherRequire
},
{
label
:
'询价联系人'
,
extra
:
data
.
contactName
},
{
label
:
'联系人电话'
,
extra
:
data
.
contactPhone
}
]
},
])
...
...
@@ -192,8 +197,89 @@ const InquiryOfferDetail = () => {
dataIndex
:
'money'
,
render
:
money
=>
<>
{
money
?
`¥${money.toFixed(2)}`
:
'¥0.00'
}
</>
},
{
title
:
"操作"
,
key
:
"operate"
,
dataIndex
:
"operate"
,
render
:
(
_text
,
_data
,
index
)
=>
(
<
Button
type=
"link"
onClick=
{
()
=>
handleHitory
(
_data
)
}
>
历史报价
</
Button
>
)
},
]
const
hitoryColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'商品ID'
,
key
:
'productId'
,
dataIndex
:
'productId'
},
{
title
:
'商品名称'
,
key
:
'productName'
,
dataIndex
:
'productName'
},
{
title
:
'品类'
,
key
:
'category'
,
dataIndex
:
'category'
},
{
title
:
'品牌'
,
key
:
'brand'
,
dataIndex
:
'brand'
},
{
title
:
'单位'
,
key
:
'unit'
,
dataIndex
:
'unit'
},
{
title
:
'采购数量'
,
key
:
'purchaseCount'
,
dataIndex
:
'purchaseCount'
},
{
title
:
'报价单价'
,
key
:
'price'
,
dataIndex
:
'price'
},
{
title
:
'询价会员'
,
key
:
'memberName'
,
dataIndex
:
'memberName'
},
{
title
:
'报价会员'
,
key
:
'quoteMemberName'
,
dataIndex
:
'quoteMemberName'
},
{
title
:
'报价时间'
,
key
:
'createTime'
,
dataIndex
:
'createTime'
},
{
title
:
'报价单'
,
key
:
'quotationNo'
,
dataIndex
:
'quotationNo'
},
{
title
:
'外部状态'
,
key
:
'externalStateName'
,
dataIndex
:
'externalStateName'
},
{
title
:
'内部状态'
,
key
:
'interiorStateName'
,
dataIndex
:
'interiorStateName'
},
]
const
handleHitory
=
(
_data
)
=>
{
setCommoditySkuId
(
_data
.
productId
);
setHistoryVisible
(
true
)
}
const
fetchLink
=
()
=>
{
let
fetchSoure
:
any
=
null
;
switch
(
pathPci
)
{
...
...
@@ -207,6 +293,17 @@ const InquiryOfferDetail = () => {
return
fetchSoure
}
const
fetchTableData
=
useCallback
((
params
:
any
)
=>
{
return
new
Promise
(
resolve
=>
{
PublicApi
.
getTransactionProductQuotationHistoryList
({
...
params
,
commoditySkuId
}).
then
(
res
=>
{
if
(
res
.
code
!==
1000
)
{
return
}
resolve
(
res
.
data
);
})
})
},
[
commoditySkuId
])
return
(
<
Context
.
Provider
value=
{
dataSource
}
>
<
PeripheralLayout
...
...
@@ -261,6 +358,20 @@ const InquiryOfferDetail = () => {
onCancel=
{
()
=>
setVisible
(
false
)
}
onOk=
{
()
=>
history
.
goBack
()
}
/>
<
Drawer
width=
{
1200
}
title=
'历史报价'
visible=
{
historyVisible
}
onClose=
{
()
=>
setVisible
(
false
)
}
>
<
StandardTable
columns=
{
hitoryColumns
}
tableProps=
{
{
rowKey
:
'productId'
}
}
fetchTableData=
{
fetchTableData
}
/>
</
Drawer
>
</
Context
.
Provider
>
)
}
...
...
src/pages/transaction/dealAbility/inquiryOffer/preview/index.tsx
View file @
6a55c215
...
...
@@ -71,6 +71,8 @@ const InquiryOfferPreview = () => {
{
label
:
'交付日期'
,
extra
:
format
(
data
.
deliveryTime
)
},
{
label
:
'交付地址'
,
extra
:
data
.
fullAddress
},
{
label
:
'报价截止时间'
,
extra
:
format
(
data
.
quotationAsTime
)
},
{
label
:
'询价联系人'
,
extra
:
data
.
contactName
},
{
label
:
'联系人电话'
,
extra
:
data
.
contactPhone
}
]
},
{
...
...
src/pages/transaction/dealAbility/inquiryOffer/waitAddOffer/addForm.tsx
View file @
6a55c215
...
...
@@ -118,6 +118,9 @@ const AddedFormLayout: React.FC<AddedFormLayoutProps> = (props: any) => {
enclosureUrls
:
res
.
enclosureUrls
,
inquiryListProductRequests
:
res
.
inquiryListProductRequests
,
inquiryListId
:
inquiry
.
inquiryListId
||
id
,
contactName
:
res
.
contactName
,
contactPhone
:
res
.
contactPhone
,
phoneCode
:
res
.
phoneCode
,
}
if
(
id
&&
!
spam
)
{
params
.
id
=
id
}
fetchRequest
({
...
params
}).
then
(
res
=>
{
...
...
@@ -176,9 +179,9 @@ const AddedFormLayout: React.FC<AddedFormLayoutProps> = (props: any) => {
const
getContacts
=
(
value
)
=>
{
form
.
setFieldsValue
({
"contact
s
"
:
value
.
name
,
'contact
s
Phone'
:
value
.
phone
,
'phoneCode'
:
86
,
"contact
Name
"
:
value
.
name
,
'contactPhone'
:
value
.
phone
,
'phoneCode'
:
value
.
phoneCode
,
});
}
...
...
src/pages/transaction/dealAbility/inquiryOffer/waitAddOffer/components/otherExplain.tsx
View file @
6a55c215
import
React
,
{
useCallback
,
useState
}
from
'react'
;
import
React
,
{
useCallback
,
use
Effect
,
use
State
}
from
'react'
;
import
{
Row
,
Col
,
Form
,
Input
,
InputNumber
,
Select
,
Button
}
from
'antd'
;
import
Card
from
'@/pages/transaction/components/card'
;
import
{
LinkOutlined
}
from
'@ant-design/icons'
;
...
...
@@ -14,7 +14,8 @@ interface OtherExplainLayoutProps {
const
OtherExplainLayout
:
React
.
FC
<
OtherExplainLayoutProps
>
=
(
props
:
any
)
=>
{
const
{
getContacts
}
=
props
;
const
[
visible
,
setVisible
]
=
useState
<
boolean
>
(
false
)
const
[
visible
,
setVisible
]
=
useState
<
boolean
>
(
false
);
const
[
telCode
,
setTelCode
]
=
useState
<
any
>
([]);
const
handleFetchData
=
useCallback
((
params
:
any
)
=>
{
return
new
Promise
(
resolve
=>
{
PublicApi
.
getMemberManageUsersPage
({
...
params
}).
then
(
res
=>
{
...
...
@@ -28,6 +29,14 @@ const OtherExplainLayout: React.FC<OtherExplainLayoutProps> = (props: any) => {
})
},
[])
const
fetchTelCode
=
async
()
=>
{
const
{
data
,
code
}
=
await
PublicApi
.
getManageCountryAreaGetTelCode
();
if
(
code
!==
1000
)
{
return
;
}
setTelCode
(
data
)
};
const
toggle
=
(
flag
:
boolean
)
=>
{
setVisible
(
flag
)
}
...
...
@@ -55,6 +64,10 @@ const OtherExplainLayout: React.FC<OtherExplainLayoutProps> = (props: any) => {
},
]
useEffect
(()
=>
{
fetchTelCode
()
},
[])
const
handleConfirm
=
(
selectRowKeys
:
string
[]
|
number
[],
selectRowRecord
:
any
)
=>
{
const
target
=
selectRowRecord
[
0
];
getContacts
(
target
)
...
...
@@ -98,7 +111,9 @@ const OtherExplainLayout: React.FC<OtherExplainLayoutProps> = (props: any) => {
rules=
{
[{
required
:
true
,
message
:
'请选择'
}]
}
>
<
Select
>
<
Select
.
Option
value=
{
86
}
>
86
</
Select
.
Option
>
{
telCode
.
map
(
item
=>
(
<
Select
.
Option
key=
{
item
}
value=
{
item
}
>
{
item
}
</
Select
.
Option
>
))
}
</
Select
>
</
Form
.
Item
>
</
Col
>
...
...
src/pages/transaction/dealAbility/inquiryOffer/waitAddOffer/components/productQuote.tsx
View file @
6a55c215
import
React
,
{
useEffect
,
useState
}
from
'react'
;
import
{
Form
,
Button
,
Table
,
Input
,
Image
}
from
'antd'
;
import
React
,
{
use
Callback
,
use
Effect
,
useState
}
from
'react'
;
import
{
Form
,
Button
,
Table
,
Input
,
Image
,
Drawer
}
from
'antd'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
import
Card
from
'@/pages/transaction/components/card'
;
import
{
isEmpty
}
from
'@/components/NiceForm/components/AntUpload/shared'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
ENTERPRISE_CENTER_URL
}
from
'@/constants'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
StandardTable
}
from
'god'
;
interface
ProductQuoteLayoutProps
{
/** 回显 */
...
...
@@ -14,6 +16,8 @@ interface ProductQuoteLayoutProps {
const
ProductQuoteLayout
:
React
.
FC
<
ProductQuoteLayoutProps
>
=
(
props
:
any
)
=>
{
const
{
setProductQuote
}
=
props
;
const
[
dataSource
,
setDataSource
]
=
useState
<
any
[]
>
([]);
const
[
commoditySkuId
,
setCommoditySkuId
]
=
useState
();
const
[
visible
,
setVisible
]
=
useState
<
boolean
>
(
false
);
const
count
=
(
num
:
any
,
price
:
any
)
=>
{
let
money
:
any
=
null
;
money
=
(
Number
(
price
)
*
1
)
*
Number
(
num
);
...
...
@@ -101,11 +105,80 @@ const ProductQuoteLayout: React.FC<ProductQuoteLayoutProps> = (props: any) => {
key
:
"operate"
,
dataIndex
:
"operate"
,
render
:
(
_text
,
_data
,
index
)
=>
(
<
Button
type=
"link"
>
历史报价
</
Button
>
<
Button
type=
"link"
onClick=
{
()
=>
handleHitory
(
_data
)
}
>
历史报价
</
Button
>
)
},
]
const
hitoryColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'商品ID'
,
key
:
'productId'
,
dataIndex
:
'productId'
},
{
title
:
'商品名称'
,
key
:
'productName'
,
dataIndex
:
'productName'
},
{
title
:
'品类'
,
key
:
'category'
,
dataIndex
:
'category'
},
{
title
:
'品牌'
,
key
:
'brand'
,
dataIndex
:
'brand'
},
{
title
:
'单位'
,
key
:
'unit'
,
dataIndex
:
'unit'
},
{
title
:
'采购数量'
,
key
:
'purchaseCount'
,
dataIndex
:
'purchaseCount'
},
{
title
:
'报价单价'
,
key
:
'price'
,
dataIndex
:
'price'
},
{
title
:
'询价会员'
,
key
:
'memberName'
,
dataIndex
:
'memberName'
},
{
title
:
'报价会员'
,
key
:
'quoteMemberName'
,
dataIndex
:
'quoteMemberName'
},
{
title
:
'报价时间'
,
key
:
'createTime'
,
dataIndex
:
'createTime'
},
{
title
:
'报价单'
,
key
:
'quotationNo'
,
dataIndex
:
'quotationNo'
},
{
title
:
'外部状态'
,
key
:
'externalStateName'
,
dataIndex
:
'externalStateName'
},
{
title
:
'内部状态'
,
key
:
'interiorStateName'
,
dataIndex
:
'interiorStateName'
},
]
useEffect
(()
=>
{
if
(
!
isEmpty
(
setProductQuote
))
{
console
.
log
(
setProductQuote
)
...
...
@@ -113,6 +186,22 @@ const ProductQuoteLayout: React.FC<ProductQuoteLayoutProps> = (props: any) => {
}
},
[
setProductQuote
])
const
handleHitory
=
(
_data
)
=>
{
setCommoditySkuId
(
_data
.
productId
);
setVisible
(
true
)
}
const
fetchTableData
=
useCallback
((
params
:
any
)
=>
{
return
new
Promise
(
resolve
=>
{
PublicApi
.
getTransactionProductQuotationHistoryList
({
...
params
,
commoditySkuId
}).
then
(
res
=>
{
if
(
res
.
code
!==
1000
)
{
return
}
resolve
(
res
.
data
);
})
})
},
[
commoditySkuId
])
return
(
<
Card
id=
"productQuoteLayout"
...
...
@@ -128,6 +217,18 @@ const ProductQuoteLayout: React.FC<ProductQuoteLayoutProps> = (props: any) => {
dataSource=
{
dataSource
}
pagination=
{
false
}
/>
<
Drawer
width=
{
1200
}
title=
'历史报价'
visible=
{
visible
}
onClose=
{
()
=>
setVisible
(
false
)
}
>
<
StandardTable
columns=
{
hitoryColumns
}
tableProps=
{
{
rowKey
:
'productId'
}
}
fetchTableData=
{
fetchTableData
}
/>
</
Drawer
>
</
Form
.
Item
>
</
Card
>
)
...
...
src/pages/transaction/dealAbility/productInquiry/detail/index.tsx
View file @
6a55c215
...
...
@@ -74,8 +74,8 @@ const ProductInquiryDetail = () => {
{
label
:
'交付日期'
,
extra
:
format
(
data
.
deliveryTime
)
},
{
label
:
'交付地址'
,
extra
:
data
.
fullAddress
},
{
label
:
'报价截止时间'
,
extra
:
format
(
data
.
quotationAsTime
)
},
{
label
:
'询价联系人'
,
extra
:
data
.
contact
s
},
{
label
:
'联系人电话'
,
extra
:
data
.
contact
s
Phone
}
{
label
:
'询价联系人'
,
extra
:
data
.
contact
Name
},
{
label
:
'联系人电话'
,
extra
:
data
.
contactPhone
}
]
},
{
...
...
src/pages/transaction/dealAbility/productInquiry/waitAddInquiry/addForm.tsx
View file @
6a55c215
...
...
@@ -212,8 +212,8 @@ const AddedFormLayout: React.FC<AddedFormLayoutProps> = (props: any) => {
category
:
item
.
customerCategoryName
,
brand
:
item
.
brandName
,
unit
:
item
.
unitName
,
purchaseCount
:
1
,
logistics
:
''
,
purchaseCount
:
item
.
purchaseCount
,
logistics
:
item
.
logistics
||
{}
,
memberId
:
item
.
memberId
,
memberRoleId
:
item
.
memberRoleId
,
taxRate
:
item
.
taxRate
,
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/constant/index.tsx
View file @
6a55c215
...
...
@@ -300,7 +300,7 @@ export const materialInfoColumns: any[] = [
dataIndex
:
'name'
,
align
:
'center'
,
key
:
'name'
,
render
:
(
t
,
r
)
=>
`
${
t
}
/
${
r
.
type
}
`
render
:
(
t
,
r
)
=>
`
${
t
}
/
${
r
.
spec
}
`
},
{
title
:
'品类'
,
...
...
@@ -325,7 +325,7 @@ export const materialInfoColumns: any[] = [
dataIndex
:
'relevanceProductId'
,
align
:
'center'
,
key
:
'relevanceProductId'
,
render
:
(
t
,
r
)
=>
t
?
`
${
t
}
/
${
r
.
relevanceProductName
||
''
}
/
${
r
.
relevanceProduct
Type
||
''
}
/
${
r
.
relevanceProductCategory
||
''
}
/
${
r
.
relevanceProductBrand
||
''
}
`
:
''
render
:
(
t
,
r
)
=>
t
?
`
${
t
}
/
${
r
.
relevanceProductName
||
''
}
/
${
r
.
relevanceProduct
Spec
||
''
}
/
${
r
.
relevanceProductCategory
||
''
}
/
${
r
.
relevanceProductBrand
||
''
}
`
:
''
},
{
title
:
'单价'
,
...
...
src/store/product/index.ts
View file @
6a55c215
...
...
@@ -9,7 +9,7 @@ export interface IPage {
export
interface
IDecsParams
{
id
?:
number
;
video
:
string
[];
image
:
string
[]
;
image
List
:
string
[]
;
word
:
string
[];
}
...
...
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