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
黄庭坚
jinfa-platform
Commits
68148d68
Commit
68148d68
authored
Nov 23, 2020
by
Bill
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into test
parents
e1051ef9
a00f45dd
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
518 additions
and
50 deletions
+518
-50
demandPosts.ts
config/routes/tranactionRoute/demandPosts.ts
+7
-0
app.tsx
src/app.tsx
+3
-3
index.tsx
src/pages/home/components/UserCenter/index.tsx
+5
-0
templateForm.tsx
src/pages/logistics/list/components/templateForm.tsx
+3
-1
tableStatusList.tsx
src/pages/transaction/common/tableStatusList.tsx
+1
-1
productModal.tsx
...ages/transaction/enquiryOffer/components/productModal.tsx
+2
-2
detail.tsx
src/pages/transaction/enquiryOffer/toAddSubmit/detail.tsx
+13
-22
addGoods.tsx
...tion/enquirySubmit/addDemandOrder/components/addGoods.tsx
+31
-0
basicInfo.tsx
...ion/enquirySubmit/addDemandOrder/components/basicInfo.tsx
+202
-0
flowRecord.tsx
...on/enquirySubmit/addDemandOrder/components/flowRecord.tsx
+88
-0
index.less
...action/enquirySubmit/addDemandOrder/components/index.less
+20
-0
tradingConditions.tsx
...irySubmit/addDemandOrder/components/tradingConditions.tsx
+84
-0
index.tsx
src/pages/transaction/enquirySubmit/addDemandOrder/index.tsx
+45
-0
enquiryGoods.tsx
...on/goodsOffer/addEnquiryOrder/components/enquiryGoods.tsx
+2
-2
index.tsx
src/pages/transaction/goodsOffer/schema/index.tsx
+1
-1
addForm.tsx
...ages/transaction/inquiryQuote/addInquiryOrder/addForm.tsx
+3
-8
attached.tsx
...tion/inquiryQuote/addInquiryOrder/components/attached.tsx
+8
-10
No files found.
config/routes/tranactionRoute/demandPosts.ts
View file @
68148d68
...
@@ -34,6 +34,13 @@ export default [
...
@@ -34,6 +34,13 @@ export default [
component
:
'@/pages/transaction/enquirySubmit/toAddSubmit/detail'
,
component
:
'@/pages/transaction/enquirySubmit/toAddSubmit/detail'
,
hideInMenu
:
true
,
hideInMenu
:
true
,
},
},
// 待新增需求单-新增
{
path
:
'/memberCenter/tranactionAbility/enquirySubmit/addDemandOrder/add'
,
name
:
'addEnquiry'
,
component
:
'@/pages/transaction/enquirySubmit/addDemandOrder'
,
hideInMenu
:
true
,
},
// 待新增需求单-编辑
// 待新增需求单-编辑
{
{
path
:
'/memberCenter/tranactionAbility/enquirySubmit/toAddSubmitList/edit'
,
path
:
'/memberCenter/tranactionAbility/enquirySubmit/toAddSubmitList/edit'
,
...
...
src/app.tsx
View file @
68148d68
...
@@ -172,9 +172,9 @@ export function onRouteChange({ routes, matchedRoutes, location, action }) {
...
@@ -172,9 +172,9 @@ export function onRouteChange({ routes, matchedRoutes, location, action }) {
recent
.
put
(
breadCrumb
,
location
.
pathname
+
location
.
search
);
recent
.
put
(
breadCrumb
,
location
.
pathname
+
location
.
search
);
}
}
//
if (isDev) {
if
(
isDev
)
{
//
return;
return
;
//
}
}
if
(
whiteLists
.
includes
(
location
.
pathname
))
{
if
(
whiteLists
.
includes
(
location
.
pathname
))
{
return
return
...
...
src/pages/home/components/UserCenter/index.tsx
View file @
68148d68
...
@@ -22,6 +22,11 @@ const UserCenter: React.FC<Iprops> = () => {
...
@@ -22,6 +22,11 @@ const UserCenter: React.FC<Iprops> = () => {
const
userAuth
=
getAuth
();
const
userAuth
=
getAuth
();
const
hasChangeMemberAuth
=
userAuth
?.
urls
.
includes
(
EDIT_USER_URL
);
const
hasChangeMemberAuth
=
userAuth
?.
urls
.
includes
(
EDIT_USER_URL
);
const
hasCenterAuth
=
userAuth
?.
urls
.
includes
(
USER_CENTER_URL
);
const
hasCenterAuth
=
userAuth
?.
urls
.
includes
(
USER_CENTER_URL
);
if
(
!
userAuth
)
{
return
null
}
return
(
return
(
<
div
className=
{
styles
.
container
}
>
<
div
className=
{
styles
.
container
}
>
<
div
className=
{
styles
.
header
}
>
<
div
className=
{
styles
.
header
}
>
...
...
src/pages/logistics/list/components/templateForm.tsx
View file @
68148d68
...
@@ -65,6 +65,7 @@ const { ON_FORM_SUBMIT } = LifeCycleTypes //拿到Form提交API
...
@@ -65,6 +65,7 @@ const { ON_FORM_SUBMIT } = LifeCycleTypes //拿到Form提交API
const
onFormSubmit$
=
FormEffectHooks
const
onFormSubmit$
=
FormEffectHooks
const
{
Option
}
=
ISelect
;
const
{
Option
}
=
ISelect
;
const
diaLogForm
:
React
.
FC
<
ListProps
>
=
(
props
)
=>
{
const
diaLogForm
:
React
.
FC
<
ListProps
>
=
(
props
)
=>
{
const
[
formIsHalfFilledOut
,
setFormIsHalfFilledOut
]
=
useState
(
true
)
const
[
provinceList
,
setProvinceList
]
=
useState
([])
const
[
provinceList
,
setProvinceList
]
=
useState
([])
const
[
editable
,
setEditable
]
=
useState
<
boolean
>
(
true
)
const
[
editable
,
setEditable
]
=
useState
<
boolean
>
(
true
)
const
[
headerTitle
,
setHeaderTitle
]
=
useState
(
''
)
const
[
headerTitle
,
setHeaderTitle
]
=
useState
(
''
)
...
@@ -163,6 +164,7 @@ const diaLogForm: React.FC<ListProps> = (props) => {
...
@@ -163,6 +164,7 @@ const diaLogForm: React.FC<ListProps> = (props) => {
}
}
})
})
}
}
setFormIsHalfFilledOut
(
false
)
}
}
const
onSearch
=
()
=>
{
const
onSearch
=
()
=>
{
...
@@ -443,7 +445,7 @@ const diaLogForm: React.FC<ListProps> = (props) => {
...
@@ -443,7 +445,7 @@ const diaLogForm: React.FC<ListProps> = (props) => {
</
Col
>
</
Col
>
</
Row
>
</
Row
>
</
Card
>
</
Card
>
<
Prompt
message=
"您还有未保存的内容,是否确定要离开"
/>
<
Prompt
when=
{
formIsHalfFilledOut
}
message=
"您还有未保存的内容,是否确定要离开"
/>
</
PageHeaderWrapper
>
</
PageHeaderWrapper
>
)
)
}
}
...
...
src/pages/transaction/common/tableStatusList.tsx
View file @
68148d68
...
@@ -266,7 +266,7 @@ export const demandQuoteInteriorState = (text:any) => {
...
@@ -266,7 +266,7 @@ export const demandQuoteInteriorState = (text:any) => {
// 询价查询, 询价报价, 确认询价报价单 通用外部状态
// 询价查询, 询价报价, 确认询价报价单 通用外部状态
export
const
generalExternalState
=
(
status
:
any
)
=>
{
export
const
generalExternalState
=
(
status
:
any
)
=>
{
let
component
:
ReactNode
=
null
;
let
component
:
ReactNode
=
null
;
PublicApi
.
getOrderQuotationExternalStateEnum
(
{}
).
then
(
res
=>
{
PublicApi
.
getOrderQuotationExternalStateEnum
().
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
console
.
log
(
res
.
data
)
console
.
log
(
res
.
data
)
}
}
...
...
src/pages/transaction/enquiryOffer/components/productModal.tsx
View file @
68148d68
...
@@ -158,7 +158,7 @@ const comfirmDialog: React.FC<Params> = (props, { onRef }) => {
...
@@ -158,7 +158,7 @@ const comfirmDialog: React.FC<Params> = (props, { onRef }) => {
productName
:
name
,
//商品名称
productName
:
name
,
//商品名称
brand
:
brandName
,
brand
:
brandName
,
category
:
customerCategoryName
,
category
:
customerCategoryName
,
productId
:
id
productId
:
id
,
})
})
//查询属性
//查询属性
GetCommodityAttribute
(
id
)
GetCommodityAttribute
(
id
)
...
@@ -193,7 +193,7 @@ const comfirmDialog: React.FC<Params> = (props, { onRef }) => {
...
@@ -193,7 +193,7 @@ const comfirmDialog: React.FC<Params> = (props, { onRef }) => {
*/
*/
const
handletOk
=
()
=>
{
const
handletOk
=
()
=>
{
Curform
.
validateFields
().
then
(
v
=>
{
Curform
.
validateFields
().
then
(
v
=>
{
props
.
onOK
(
v
,
commodityAttributedataSource
)
props
.
onOK
(
v
,
commodityAttributedataSource
,
productRowCtl
.
selectRow
[
0
]
)
props
.
productAttributeJson
(
commodityAttributedataSource
)
props
.
productAttributeJson
(
commodityAttributedataSource
)
setcommodityAttributedataSource
({})
setcommodityAttributedataSource
({})
productRowCtl
.
setSelectRow
([]);
productRowCtl
.
setSelectRow
([]);
...
...
src/pages/transaction/enquiryOffer/toAddSubmit/detail.tsx
View file @
68148d68
...
@@ -778,6 +778,10 @@ const Detail: React.FC<{}> = () => {
...
@@ -778,6 +778,10 @@ const Detail: React.FC<{}> = () => {
item
.
purchaseQuantity
=
v
.
purchaseQuantity
//数量
item
.
purchaseQuantity
=
v
.
purchaseQuantity
//数量
item
.
productId
=
v
.
productId
//商品ID 选择的
item
.
productId
=
v
.
productId
//商品ID 选择的
item
.
requisitionFormNo
=
values
.
requisitionFormNo
item
.
requisitionFormNo
=
values
.
requisitionFormNo
item
.
memberId
=
v
.
memberId
item
.
memberRoleId
=
v
.
memberRoleId
item
.
logistics
=
v
.
logistics
item
.
imgUrl
=
v
.
imgUrl
let
_otherList
=
[]
let
_otherList
=
[]
Object
.
keys
(
v
).
forEach
(
child
=>
{
Object
.
keys
(
v
).
forEach
(
child
=>
{
otherList
.
forEach
(
j
=>
{
otherList
.
forEach
(
j
=>
{
...
@@ -826,27 +830,11 @@ const Detail: React.FC<{}> = () => {
...
@@ -826,27 +830,11 @@ const Detail: React.FC<{}> = () => {
* @param {type}
* @param {type}
* @return {type}
* @return {type}
*/
*/
const
handleSubmit
=
(
values
:
any
,
sourData
:
any
)
=>
{
const
handleSubmit
=
(
values
:
any
,
sourData
:
any
,
selectRow
:
any
)
=>
{
console
.
log
(
'弹窗内容'
,
values
,
sourData
)
console
.
log
(
'弹窗内容'
,
selectRow
)
let
item
=
{}
let
item
=
{}
let
list
=
[]
let
list
=
[]
//先循环所有 再循环有值的
// otherList.forEach((vitem: any) => {
// Object.keys(values).forEach((key) => {
// console.log('key', key)
// if (vitem.title == key) {
// console.log('vitem.title:', vitem.title)
// console.log('value', values[vitem.title])
// item[key] = values[vitem.title]
// } else {
// item[key] = values[key]
// }
// })
// })
// list.push(item)
// console.log('list', list)
let
source
=
[]
let
source
=
[]
let
otherColumnkey
=
[]
//动态列的展示
let
otherColumnkey
=
[]
//动态列的展示
let
data
=
sourData
let
data
=
sourData
...
@@ -860,10 +848,13 @@ const Detail: React.FC<{}> = () => {
...
@@ -860,10 +848,13 @@ const Detail: React.FC<{}> = () => {
});
});
obj
[
'category'
]
=
values
.
category
obj
[
'category'
]
=
values
.
category
obj
[
'specifications'
]
=
values
.
model
obj
[
'specifications'
]
=
values
.
model
obj
[
'memberId'
]
=
selectRow
.
memberId
obj
[
'memberRoleId'
]
=
selectRow
.
memberRoleId
obj
[
'logistics'
]
=
selectRow
.
logistics
obj
[
'imgUrl'
]
=
selectRow
.
mainPic
//动态
//动态
data
.
forEach
((
v
)
=>
{
data
.
forEach
((
v
)
=>
{
if
(
JSON
.
stringify
(
v
.
customerAttribute
)
!=
'{}'
)
{
if
(
JSON
.
stringify
(
v
.
customerAttribute
)
!=
'{}'
)
{
//获取列头
//获取列头
otherColumnkey
.
push
({
otherColumnkey
.
push
({
title
:
v
.
customerAttribute
.
name
,
title
:
v
.
customerAttribute
.
name
,
...
@@ -881,8 +872,8 @@ const Detail: React.FC<{}> = () => {
...
@@ -881,8 +872,8 @@ const Detail: React.FC<{}> = () => {
})
})
source
.
push
(
obj
)
source
.
push
(
obj
)
console
.
log
([...
source
])
console
.
log
([...
source
])
setotherList
([...
otherColumnkey
])
//生成列
setotherList
([...
otherColumnkey
])
//生成列
setproductSource
([...
productSource
,
...
source
])
//新增就要合并
setproductSource
([...
productSource
,
...
source
])
//新增就要合并
setdialogVisible
(
false
)
setdialogVisible
(
false
)
}
}
...
@@ -1186,7 +1177,7 @@ const Detail: React.FC<{}> = () => {
...
@@ -1186,7 +1177,7 @@ const Detail: React.FC<{}> = () => {
mode=
{
mode
}
mode=
{
mode
}
initialValues=
{
RroductinitialValues
}
initialValues=
{
RroductinitialValues
}
productAttributeJson=
{
productAttributeJson
}
productAttributeJson=
{
productAttributeJson
}
onOK=
{
(
values
:
any
,
data
)
=>
handleSubmit
(
values
,
data
)
}
onOK=
{
(
values
:
any
,
data
,
selectRow
)
=>
handleSubmit
(
values
,
data
,
selectRow
)
}
onCancel=
{
()
=>
setdialogVisible
(
false
)
}
onCancel=
{
()
=>
setdialogVisible
(
false
)
}
>
>
</
RroductModal
>
</
RroductModal
>
...
...
src/pages/transaction/enquirySubmit/addDemandOrder/components/addGoods.tsx
0 → 100644
View file @
68148d68
import
React
from
'react'
;
import
{
Form
,
Radio
,
Button
,
Table
}
from
'antd'
;
import
{
ColumnType
}
from
'antd/lib/table/interface'
;
const
layout
:
any
=
{
colon
:
false
,
labelCol
:
{
style
:
{
width
:
'174px'
}
},
wrapperCol
:
{
span
:
9
},
labelAlign
:
"left"
};
const
AddGoods
:
React
.
FC
<
{}
>
=
()
=>
{
return
(
<
Form
{
...
layout
}
>
<
Form
.
Item
label=
'添加方式'
required
>
<
Radio
.
Group
>
<
Radio
value=
{
1
}
>
通过平台属性添加
</
Radio
>
<
Radio
value=
{
2
}
>
选择货品添加
</
Radio
>
<
Radio
value=
{
3
}
>
导入货品生成
</
Radio
>
</
Radio
.
Group
>
</
Form
.
Item
>
<
Form
.
Item
noStyle
>
<
Button
type=
'dashed'
block
>
添加商品
</
Button
>
</
Form
.
Item
>
</
Form
>
)
}
export
default
AddGoods
;
\ No newline at end of file
src/pages/transaction/enquirySubmit/addDemandOrder/components/basicInfo.tsx
0 → 100644
View file @
68148d68
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
Form
,
Input
,
Tooltip
,
Button
,
Select
,
Row
,
Col
,
message
}
from
'antd'
;
import
{
QuestionCircleOutlined
}
from
'@ant-design/icons'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
style
from
'./index.less'
;
const
layout
:
any
=
{
colon
:
false
,
labelCol
:
{
style
:
{
width
:
'174px'
}
},
wrapperCol
:
{
span
:
9
},
labelAlign
:
"left"
};
const
{
Option
}
=
Select
;
const
BasicInfo
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
form
]
=
Form
.
useForm
();
const
[
province
,
setprovince
]
=
useState
<
any
>
([]);
// 省列表
const
[
city
,
setcity
]
=
useState
<
any
>
([]);
// 市列表
const
[
requisitionFormAddress
,
setrequisitionFormAddress
]
=
useState
<
any
>
([{
provinceCode
:
''
,
province
:
''
,
cityCode
:
''
,
city
:
''
}]);
const
[
code
,
setcode
]
=
useState
<
any
>
([]);
//获取所有得地区
const
manageProvince
=
()
=>
{
return
new
Promise
(
resolve
=>
{
PublicApi
.
getManageAreaAll
().
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
);
}
})
})
}
// 选择下拉得内容
const
handProvince
=
(
val
:
any
,
idx
:
number
,
num
:
number
)
=>
{
if
(
num
===
1
)
{
const
result
=
[...
requisitionFormAddress
];
province
.
forEach
(
item
=>
{
if
(
item
.
code
===
val
)
{
PublicApi
.
getManageAreaByPcodeAll
({
pcode
:
val
}).
then
((
res
:
any
)
=>
{
if
(
res
.
code
===
1000
)
{
res
.
data
.
forEach
((
items
:
any
)
=>
{
const
fiterCode
=
code
.
filter
(
value
=>
value
===
items
.
code
);
if
(
fiterCode
[
0
]
===
items
.
code
)
{
items
.
disabled
=
true
}
else
{
items
.
disabled
=
false
}
})
result
[
idx
].
provinceCode
=
val
;
result
[
idx
].
province
=
item
.
name
;
city
[
idx
]
=
{
citydata
:
res
.
data
}
setcity
([...
city
])
}
})
}
})
setrequisitionFormAddress
(
result
);
}
else
{
const
result
=
[...
requisitionFormAddress
];
city
.
forEach
(
item
=>
{
item
.
citydata
.
forEach
(
items
=>
{
if
(
items
.
code
===
val
)
{
result
[
idx
].
cityCode
=
val
;
result
[
idx
].
city
=
items
.
name
;
}
})
})
setcode
([...
code
,
val
]);
setrequisitionFormAddress
(
result
);
}
}
// 添加一条地址
const
addFormAddress
=
(
idx
:
number
)
=>
{
const
address
:
any
=
{
provinceCode
:
''
,
province
:
''
,
cityCode
:
''
,
city
:
''
}
if
(
requisitionFormAddress
[
idx
].
provinceCode
&&
requisitionFormAddress
[
idx
].
cityCode
)
{
setrequisitionFormAddress
([...
requisitionFormAddress
,
address
])
}
else
{
message
.
error
(
'请完善适用城市信息'
)
}
}
// 删除一条地址
const
removeFormAddress
=
(
idx
:
any
)
=>
{
}
useEffect
(()
=>
{
manageProvince
().
then
(
data
=>
{
setprovince
(
data
)
})
},
[])
return
(
<
Form
{
...
layout
}
form=
{
form
}
>
<
Form
.
Item
label=
'需求单摘要'
name=
''
rules=
{
[{
required
:
true
,
message
:
'请输入需求单摘要'
}]
}
>
<
Input
/>
</
Form
.
Item
>
<
Form
.
Item
label=
{
<
Tooltip
placement=
"right"
title=
'设置了归属地市后,此商品可根据地市进行筛选,未设置时默认为所有地市'
>
适用地市
<
QuestionCircleOutlined
style=
{
{
marginLeft
:
'5px'
}
}
/></
Tooltip
>
}
style=
{
{
marginBottom
:
'0'
}
}
>
{
requisitionFormAddress
.
map
((
item
:
any
,
idx
:
number
)
=>
{
return
(
<
Row
gutter=
{
10
}
key=
{
`requisitionFormAddress${idx}`
}
className=
{
style
.
formwrap
}
>
<
Col
span=
{
12
}
>
<
Form
.
Item
name=
{
`province_${idx}`
}
>
<
Select
onChange=
{
(
value
)
=>
{
handProvince
(
value
,
idx
,
1
)
}
}
>
{
province
.
map
(
items
=>
{
return
(
<
Option
key=
{
items
.
id
}
value=
{
items
.
code
}
>
{
items
.
name
}
</
Option
>
)
})
}
</
Select
>
</
Form
.
Item
>
</
Col
>
<
Col
span=
{
12
}
>
<
Form
.
Item
name=
{
`city_${idx}`
}
rules=
{
[{
required
:
item
.
provinceCode
?
true
:
false
,
message
:
'选择三级分类'
}]
}
>
<
Select
onChange=
{
(
value
)
=>
{
handProvince
(
value
,
idx
,
2
)
}
}
>
{
(
item
.
provinceCode
&&
city
.
length
>
0
&&
city
[
idx
].
citydata
)
&&
city
[
idx
].
citydata
.
map
(
items
=>
{
return
(
<
Option
disabled=
{
items
.
disabled
}
key=
{
items
.
id
}
value=
{
items
.
code
}
>
{
items
.
name
}
</
Option
>
)
})
}
</
Select
>
</
Form
.
Item
>
</
Col
>
<
div
className=
{
style
.
formbutton
}
>
{
(
idx
===
requisitionFormAddress
.
length
-
1
)
&&
<
Form
.
Item
>
<
Button
type=
'primary'
onClick=
{
()
=>
addFormAddress
(
idx
)
}
>
+
</
Button
>
</
Form
.
Item
>
}
{
requisitionFormAddress
.
length
>
1
&&
<
Form
.
Item
>
<
Button
onClick=
{
()
=>
removeFormAddress
(
idx
)
}
>
-
</
Button
>
</
Form
.
Item
>
}
</
div
>
</
Row
>
)
})
}
</
Form
.
Item
>
<
Form
.
Item
label=
'需求单号'
>
<
span
>
SPTY12
</
span
>
</
Form
.
Item
>
<
Form
.
Item
label=
'会员名称'
>
<
span
>
温州龙昌手袋有限公司
</
span
>
</
Form
.
Item
>
<
Form
.
Item
label=
'单据时间'
>
<
span
>
2020-08-20 12:56:25
</
span
>
</
Form
.
Item
>
<
Form
.
Item
label=
'外部状态'
>
<
span
>
待提交需求单
</
span
>
</
Form
.
Item
>
<
Form
.
Item
label=
'外部状态'
>
<
span
>
待提交审核
</
span
>
</
Form
.
Item
>
</
Form
>
)
}
export
default
BasicInfo
;
\ No newline at end of file
src/pages/transaction/enquirySubmit/addDemandOrder/components/flowRecord.tsx
0 → 100644
View file @
68148d68
import
React
,
{
useState
}
from
'react'
;
import
styles
from
'./index.less'
;
import
{
Radio
}
from
'antd'
;
import
PolymericTable
from
'@/components/PolymericTable'
;
import
{
EditableColumns
}
from
'@/components/PolymericTable/interface'
;
import
moment
from
'moment'
;
const
FlowRecord
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
radio
,
setRadio
]
=
useState
<
string
>
(
'outer'
);
//切换单据
const
format
=
(
text
)
=>
{
return
<>
{
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
}
</>
}
const
outerColumns
:
EditableColumns
[]
=
[{
title
:
'序号'
,
dataIndex
:
'inquiryListId'
,
},
{
title
:
'操作角色'
,
dataIndex
:
'roleName'
,
},
{
title
:
'状态'
,
dataIndex
:
'state'
,
},
{
title
:
'操作'
,
dataIndex
:
'operation'
,
},
{
title
:
'操作时间'
,
dataIndex
:
'operationTime'
,
render
:
(
text
:
any
,
record
:
any
)
=>
format
(
text
)
},
{
title
:
'审核意见'
,
dataIndex
:
'auditOpinion'
,
}]
const
insideColumns
:
EditableColumns
[]
=
[{
title
:
'序号'
,
dataIndex
:
'inquiryListId'
,
},
{
title
:
'操作人'
,
dataIndex
:
'roleName'
,
},
{
title
:
'部门'
,
dataIndex
:
'department'
,
},
{
title
:
'职位'
,
dataIndex
:
'position'
,
},
{
title
:
'状态'
,
dataIndex
:
'state'
,
},
{
title
:
'操作'
,
dataIndex
:
'operation'
,
},
{
title
:
'操作时间'
,
dataIndex
:
'operationTime'
,
render
:
(
text
:
any
,
record
:
any
)
=>
format
(
text
)
},
{
title
:
'审核意见'
,
dataIndex
:
'auditOpinion'
,
}]
const
onChange
=
(
e
:
any
)
=>
{
setRadio
(
e
.
target
.
value
)
}
return
(
<
div
>
<
Radio
.
Group
defaultValue=
"outer"
buttonStyle=
"solid"
onChange=
{
onChange
}
>
<
Radio
.
Button
value=
"outer"
>
外部单据
</
Radio
.
Button
>
<
Radio
.
Button
value=
"inside"
>
内部单据
</
Radio
.
Button
>
</
Radio
.
Group
>
{
radio
===
'outer'
?
<
PolymericTable
columns=
{
outerColumns
}
loading=
{
false
}
pagination=
{
null
}
/>
:
<
PolymericTable
columns=
{
insideColumns
}
loading=
{
false
}
pagination=
{
null
}
/>
}
</
div
>
)
}
export
default
FlowRecord
\ No newline at end of file
src/pages/transaction/enquirySubmit/addDemandOrder/components/index.less
0 → 100644
View file @
68148d68
.formwrap {
position: relative;
.formbutton {
position: absolute;
right: -95px;
display: flex;
width: 90px;
:global {
.ant-form-item {
width: 32px;
margin-right: 10px;
.ant-btn {
width: 32px;
padding: 0;
margin-right: 10px;
}
}
}
}
}
src/pages/transaction/enquirySubmit/addDemandOrder/components/tradingConditions.tsx
0 → 100644
View file @
68148d68
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
moment
from
'moment'
;
import
{
Form
,
Input
,
Select
,
Row
,
Col
,
DatePicker
,
message
}
from
'antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
layout
:
any
=
{
colon
:
false
,
labelCol
:
{
style
:
{
width
:
'174px'
}
},
wrapperCol
:
{
span
:
24
},
labelAlign
:
"left"
};
const
TradingConditions
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
TradingConditionsForm
]
=
Form
.
useForm
();
const
[
address
,
setAddress
]
=
useState
([]);
useEffect
(()
=>
{
// 获取交付地址
PublicApi
.
getLogisticsSelectListReceiverAddress
().
then
(
res
=>
{
setAddress
(
res
.
data
)
})
},
[])
const
disabledDate
=
(
current
)
=>
{
return
current
&&
current
<
moment
().
endOf
(
'day'
);
}
return
(
<
Form
{
...
layout
}
form=
{
TradingConditionsForm
}
>
<
Row
gutter=
{
70
}
>
<
Col
span=
{
12
}
>
<
Form
.
Item
label=
'交付日期'
name=
'deliveryTime'
rules=
{
[{
required
:
true
,
message
:
'请选择交付日期'
}]
}
>
<
DatePicker
style=
{
{
width
:
'100%'
}
}
disabledDate=
{
disabledDate
}
format=
"YYYY-MM-DD HH:mm:ss"
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'交付地址'
name=
'fullAddressId'
rules=
{
[{
required
:
true
,
message
:
'请选择交付地址'
}]
}
>
<
Select
>
{
address
.
map
(
v
=>
(
<
Select
.
Option
key=
{
v
.
id
}
value=
{
v
.
id
}
>
{
v
.
fullAddress
}
</
Select
.
Option
>
))
}
</
Select
>
</
Form
.
Item
>
<
Form
.
Item
label=
'报价截止时间'
name=
'quotationAsTime'
rules=
{
[{
required
:
true
,
message
:
'请选择报价截止时间'
}]
}
>
<
DatePicker
style=
{
{
width
:
'100%'
}
}
format=
"YYYY-MM-DD HH:mm:ss"
disabledDate=
{
disabledDate
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'报价要求'
name=
'offer'
>
<
Input
.
TextArea
placeholder=
'最长100个字符,50个汉字'
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'付款方式'
name=
'paymentType'
>
<
Input
.
TextArea
placeholder=
'最长100个字符,50个汉字'
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'税费要求'
name=
'taxes'
>
<
Input
.
TextArea
placeholder=
'最长100个字符,50个汉字'
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'物流要求'
name=
'logistics'
>
<
Input
.
TextArea
placeholder=
'最长100个字符,50个汉字'
/>
</
Form
.
Item
>
</
Col
>
<
Col
span=
{
12
}
>
<
Form
.
Item
label=
'包装要求'
name=
'packRequire'
>
<
Input
.
TextArea
placeholder=
'最长100个字符,50个汉字'
/>
</
Form
.
Item
>
<
Form
.
Item
label=
'其他要求'
name=
'otherRequire'
>
<
Input
.
TextArea
placeholder=
'最长100个字符,50个汉字'
/>
</
Form
.
Item
>
</
Col
>
</
Row
>
</
Form
>
)
}
export
default
TradingConditions
\ No newline at end of file
src/pages/transaction/enquirySubmit/addDemandOrder/index.tsx
0 → 100644
View file @
68148d68
import
React
from
'react'
;
import
{
history
}
from
'umi'
;
import
ReutrnEle
from
'@/components/ReturnEle'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
Button
,
Card
,
Tabs
}
from
'antd'
;
import
BasicInfo
from
'./components/basicInfo'
;
import
TradingConditions
from
'./components/tradingConditions'
import
FlowRecord
from
'./components/flowRecord'
;
import
AddGoods
from
'./components/addGoods'
;
const
{
TabPane
}
=
Tabs
;
const
AddDemandOrder
:
React
.
FC
<
{}
>
=
()
=>
{
return
(
<
PageHeaderWrapper
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReutrnEle
description=
"返回"
/>
}
extra=
{
<
Button
type=
"primary"
>
保存
</
Button
>
}
>
<
Card
>
<
Tabs
type=
'card'
>
<
TabPane
forceRender
tab=
'基本信息'
key=
'1'
>
<
BasicInfo
/>
</
TabPane
>
<
TabPane
forceRender
tab=
'添加商品'
key=
'2'
>
<
AddGoods
/>
</
TabPane
>
<
TabPane
forceRender
tab=
'交易条件'
key=
'3'
>
<
TradingConditions
/>
</
TabPane
>
<
TabPane
forceRender
tab=
'需求对接'
key=
'4'
>
</
TabPane
>
<
TabPane
forceRender
tab=
'流转记录'
key=
'5'
>
<
FlowRecord
/>
</
TabPane
>
</
Tabs
>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
AddDemandOrder
;
\ No newline at end of file
src/pages/transaction/goodsOffer/addEnquiryOrder/components/enquiryGoods.tsx
View file @
68148d68
...
@@ -51,8 +51,8 @@ const EnquiryGoods: React.FC<queryProps> = (props) => {
...
@@ -51,8 +51,8 @@ const EnquiryGoods: React.FC<queryProps> = (props) => {
purchaseCount
:
1
,
purchaseCount
:
1
,
logistics
:
v
.
logistics
,
logistics
:
v
.
logistics
,
memberId
:
v
.
memberId
,
memberId
:
v
.
memberId
,
memberRoleId
:
v
.
memberRoleId
memberRoleId
:
v
.
memberRoleId
,
imgUrl
:
v
.
mainPic
})
})
setinquiryGoods
(
inquiry
);
setinquiryGoods
(
inquiry
);
setgoodsList
(
arr
);
setgoodsList
(
arr
);
...
...
src/pages/transaction/goodsOffer/schema/index.tsx
View file @
68148d68
...
@@ -63,7 +63,7 @@ export const commonEnquieryOfferSchema: ISchema = {
...
@@ -63,7 +63,7 @@ export const commonEnquieryOfferSchema: ISchema = {
placeholder
:
'询价单摘要'
placeholder
:
'询价单摘要'
}
}
},
},
inquiryListM
emberName
:{
m
emberName
:{
type
:
'string'
,
type
:
'string'
,
"x-component-props"
:{
"x-component-props"
:{
placeholder
:
'被询价会员'
placeholder
:
'被询价会员'
...
...
src/pages/transaction/inquiryQuote/addInquiryOrder/addForm.tsx
View file @
68148d68
...
@@ -38,7 +38,7 @@ const AddQuotes: React.FC<parmas> = (props) => {
...
@@ -38,7 +38,7 @@ const AddQuotes: React.FC<parmas> = (props) => {
setenclosureUrls
(
res
.
data
.
enclosureUrls
)
setenclosureUrls
(
res
.
data
.
enclosureUrls
)
}
}
})
})
}
else
if
(
id
&&
type
===
3
)
{
}
else
if
(
id
&&
type
===
3
)
{
// 报价
// 报价
PublicApi
.
getOrderProductInquiryDetails
({
id
}).
then
(
res
=>
{
PublicApi
.
getOrderProductInquiryDetails
({
id
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
...
@@ -57,7 +57,6 @@ const AddQuotes: React.FC<parmas> = (props) => {
...
@@ -57,7 +57,6 @@ const AddQuotes: React.FC<parmas> = (props) => {
const
onSumbit
=
async
(
params
:
any
)
=>
{
const
onSumbit
=
async
(
params
:
any
)
=>
{
setloading
(
true
);
setloading
(
true
);
const
basicInfo
=
await
basicInfoRef
.
current
.
validateFields
();
const
basicInfo
=
await
basicInfoRef
.
current
.
validateFields
();
if
(
count
===
'3'
)
{
const
tradingConditions
=
await
tradingConditionsRef
.
current
.
validateFields
();
const
tradingConditions
=
await
tradingConditionsRef
.
current
.
validateFields
();
const
basicInfoData
=
basicInfo
.
data
;
const
basicInfoData
=
basicInfo
.
data
;
const
tradingConditionsData
=
tradingConditions
.
data
;
const
tradingConditionsData
=
tradingConditions
.
data
;
...
@@ -75,23 +74,19 @@ const AddQuotes: React.FC<parmas> = (props) => {
...
@@ -75,23 +74,19 @@ const AddQuotes: React.FC<parmas> = (props) => {
await
PublicApi
.
postOrderProductQuotationUpdate
(
parmas
).
then
(
res
=>
{
await
PublicApi
.
postOrderProductQuotationUpdate
(
parmas
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
history
.
goBack
();
history
.
goBack
();
}
else
{
setloading
(
false
);
}
}
else
{
setloading
(
false
);
}
})
})
}
else
{
}
else
{
await
PublicApi
.
postOrderProductQuotationAdd
(
parmas
).
then
(
res
=>
{
await
PublicApi
.
postOrderProductQuotationAdd
(
parmas
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
history
.
goBack
();
history
.
goBack
();
}
else
{
setloading
(
false
);
}
}
else
{
setloading
(
false
);
}
})
})
}
}
}
else
{
}
else
{
message
.
error
(
'有必填字段没选择,请检查!'
);
message
.
error
(
'有必填字段没选择,请检查!'
);
setloading
(
false
);
setloading
(
false
);
}
}
}
else
{
message
.
error
(
'有必填字段没选择,请检查!'
);
setloading
(
false
);
}
}
}
// 获取到会员信息
// 获取到会员信息
const
getMemberList
=
(
list
:
any
)
=>
{
const
getMemberList
=
(
list
:
any
)
=>
{
...
...
src/pages/transaction/inquiryQuote/addInquiryOrder/components/attached.tsx
View file @
68148d68
...
@@ -28,19 +28,17 @@ const Attached: React.FC<parmas> = (props) => {
...
@@ -28,19 +28,17 @@ const Attached: React.FC<parmas> = (props) => {
return
isLt20M
;
return
isLt20M
;
}
}
// 上传回调
// 上传回调
const
handleChange
=
({
file
List
})
=>
{
const
handleChange
=
({
file
})
=>
{
const
arr
:
any
=
[];
const
arr
:
any
=
[];
fileList
.
forEach
(
v
=>
{
if
(
file
.
response
)
{
if
(
v
.
response
)
{
if
(
file
.
response
.
code
===
1000
)
{
if
(
v
.
response
.
code
===
1000
)
{
arr
.
push
({
arr
.
push
({
name
:
v
.
name
,
name
:
file
.
name
,
url
:
v
.
response
.
data
url
:
file
.
response
.
data
})
})
}
}
}
}
})
setFiles
([...
files
,
...
arr
])
setFiles
(
arr
)
handleGetEnclosureUrls
(
arr
);
handleGetEnclosureUrls
(
arr
);
}
}
// 删除附件
// 删除附件
...
@@ -51,12 +49,12 @@ const Attached: React.FC<parmas> = (props) => {
...
@@ -51,12 +49,12 @@ const Attached: React.FC<parmas> = (props) => {
handleGetEnclosureUrls
(
arr
);
handleGetEnclosureUrls
(
arr
);
}
}
useEffect
(()
=>
{
useEffect
(()
=>
{
if
(
Object
.
keys
(
editData
).
length
>
0
)
{
if
(
Object
.
keys
(
editData
).
length
>
0
)
{
setFiles
(
editData
.
enclosureUrls
)
setFiles
(
editData
.
enclosureUrls
)
}
}
},
[
editData
])
},
[
editData
])
console
.
log
(
files
,
10086
)
return
(
return
(
<
Form
<
Form
{
...
layout
}
{
...
layout
}
...
...
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