Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
admin-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
admin-ci-test
Commits
4f7fb4bb
提交
4f7fb4bb
authored
9月 13, 2023
作者:
龚洪江
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
功能:商城订单流程,确认订单,合同签署
上级
8da97540
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
194 行增加
和
47 行删除
+194
-47
fddInterfaceType.ts
src/api/interface/fddInterfaceType.ts
+21
-0
orderManageType.ts
src/api/interface/orderManageType.ts
+17
-0
systemManageType.ts
src/api/interface/systemManageType.ts
+0
-5
fddInterfaceAPI.ts
src/api/modules/fddInterfaceAPI.ts
+20
-1
systemManage.ts
src/api/modules/systemManage.ts
+0
-8
index.scss
src/components/layout/index.scss
+3
-0
index.tsx
src/components/layout/title/index.tsx
+27
-1
index.scss
src/pages/orderManage/demandOrder/orderDetail/index.scss
+1
-1
index.tsx
...e/productOrder/orderDetail/comp/detailPurchaser/index.tsx
+60
-21
index.tsx
...age/productOrder/orderList/components/sureOrder/index.tsx
+5
-1
index.tsx
src/pages/orderManage/productOrder/orderList/index.tsx
+10
-7
index.tsx
src/pages/systemManage/realNameAuth/index.tsx
+2
-2
dictionary.ts
src/utils/dictionary.ts
+28
-0
没有找到文件。
src/api/interface/fddInterfaceType.ts
浏览文件 @
4f7fb4bb
import
{
InterFunction
}
from
'~/api/interface'
;
//fdd-企业实名认证
export
type
companyVerifyUrlType
=
InterFunction
<
{
port
:
number
},
string
>
;
// fdd-企业实名认证信息
export
type
userFddInfoType
=
InterFunction
<
{
port
:
number
},
{
id
:
number
;
unionId
:
string
;
customerId
:
string
;
personVerifyStatus
:
number
;
entVerifyStatus
:
number
;
accountType
:
number
;
createTime
:
string
;
updateTime
:
string
;
}
>
;
// fdd-上传合同
export
type
uploadContractType
=
InterFunction
<
{
...
...
@@ -55,3 +72,7 @@ export type signContractType = InterFunction<
},
string
>
;
// fdd-合同预览
export
type
viewContractType
=
InterFunction
<
{
contractId
:
string
},
string
>
;
// fdd-合同下载
export
type
downloadContractType
=
InterFunction
<
{
contractId
:
string
},
string
>
;
src/api/interface/orderManageType.ts
浏览文件 @
4f7fb4bb
...
...
@@ -1122,6 +1122,23 @@ type mallOrderType = {
* 抵扣钱包余额
*/
walletAmount
?:
number
;
userName
:
string
;
contractInfoDTO
?:
{
id
:
number
;
unionId
:
string
;
orderNo
:
string
;
contractNo
:
string
;
contractTitle
:
string
;
signStatus
:
number
;
singerTime
:
null
;
createTime
:
string
;
updateTime
:
string
;
archiveDate
:
string
;
aremark
:
string
;
bremark
:
string
;
atransactionId
:
string
;
btransactionId
:
string
;
};
};
export
type
mallOrderListType
=
InterListFunction
<
{
...
...
src/api/interface/systemManageType.ts
浏览文件 @
4f7fb4bb
...
...
@@ -353,8 +353,3 @@ export type getUserAddressInfoType = InterFunction<
id
:
number
;
}
>
;
//fdd-企业实名认证
export
type
companyVerifyUrlType
=
InterFunction
<
{
port
:
number
},
string
>
;
// fdd-企业实名认证信息
export
type
userFddInfoType
=
InterFunction
<
{
port
:
number
},
any
>
;
src/api/modules/fddInterfaceAPI.ts
浏览文件 @
4f7fb4bb
import
{
signContractType
,
uploadContractType
}
from
'~/api/interface/fddInterfaceType'
;
import
{
companyVerifyUrlType
,
downloadContractType
,
signContractType
,
uploadContractType
,
userFddInfoType
,
viewContractType
,
}
from
'~/api/interface/fddInterfaceType'
;
import
axios
from
'../request'
;
export
class
FddInterfaceAPI
{
// fdd-企业实名认证
static
getCompanyVerifyUrl
:
companyVerifyUrlType
=
(
params
)
=>
axios
.
get
(
'/userapp/fdd/auth/getCompanyVerifyUrl'
,
{
params
});
// fdd-获取企业实名认证信息
static
getAppUserFddInfo
:
userFddInfoType
=
(
params
)
=>
axios
.
get
(
'/userapp/fdd/auth/getAppUserFddInfo'
,
{
params
});
// fdd-上传合同
static
uploadContract
:
uploadContractType
=
(
data
)
=>
axios
.
post
(
'/userapp/fdd/contract/uploadContract'
,
data
);
// fdd-签署合同
static
signContract
:
signContractType
=
(
params
)
=>
axios
.
get
(
'/userapp/fdd/contract/stamp'
,
{
params
});
//fdd-合同预览
static
viewContract
:
viewContractType
=
(
params
)
=>
axios
.
get
(
'/userapp/fdd/contract/viewContract'
,
{
params
});
// fdd-合同下载
static
downloadContract
:
downloadContractType
=
(
params
)
=>
axios
.
get
(
'/userapp/fdd/contract/downloadContract'
,
{
params
});
}
src/api/modules/systemManage.ts
浏览文件 @
4f7fb4bb
...
...
@@ -2,7 +2,6 @@ import {
addressInsetType
,
addressListType
,
bindingCompanyMemberType
,
companyVerifyUrlType
,
deleteAddressType
,
deleteRoleInfoType
,
editAddressType
,
...
...
@@ -27,7 +26,6 @@ import {
updatePasswordType
,
updateRoleInfoType
,
updateRoleMenuInfoType
,
userFddInfoType
,
}
from
'../interface/systemManageType'
;
import
axios
from
'../request'
;
...
...
@@ -125,10 +123,4 @@ export class SystemManageAPI {
// 地址管理-根据地址id查找
static
getUserAddressInfo
:
getUserAddressInfoType
=
(
params
)
=>
axios
.
get
(
'/oms/user-address/getUserAddressInfo'
,
{
params
});
// fdd-企业实名认证
static
getCompanyVerifyUrl
:
companyVerifyUrlType
=
(
params
)
=>
axios
.
get
(
'/userapp/fdd/auth/getCompanyVerifyUrl'
,
{
params
});
// fdd-获取企业实名认证信息
static
getAppUserFddInfo
:
userFddInfoType
=
(
params
)
=>
axios
.
get
(
'/userapp/fdd/auth/getAppUserFddInfo'
,
{
params
});
}
src/components/layout/index.scss
浏览文件 @
4f7fb4bb
...
...
@@ -136,6 +136,9 @@ $page-background: #f3f6ff;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
.fdd-auth
{
margin-right
:
10px
;
}
.current-project
{
display
:
flex
;
align-items
:
center
;
...
...
src/components/layout/title/index.tsx
浏览文件 @
4f7fb4bb
import
{
useState
}
from
'react'
;
import
{
use
Effect
,
use
State
}
from
'react'
;
import
{
Header
}
from
'antd/es/layout/layout'
;
import
{
DownOutlined
,
UpOutlined
}
from
'@ant-design/icons'
;
import
{
Button
,
Dropdown
,
Image
,
MenuProps
,
Modal
}
from
'antd'
;
...
...
@@ -8,6 +8,12 @@ import { REMOVE_MENU, REMOVE_MENU_ID, SET_COLLAPSE } from '~/store/module/menu';
import
{
useDispatch
,
useSelector
}
from
'react-redux'
;
import
{
useNavigate
}
from
'react-router-dom'
;
import
Cookies
from
'js-cookie'
;
import
{
FddInterfaceAPI
}
from
'~/api'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
userFddInfoType
}
from
'~/api/interface/fddInterfaceType'
;
// fdd实名认证信息类型
type
fddAuthType
=
InterDataType
<
userFddInfoType
>
;
export
function
TitleView
()
{
// 弹窗
...
...
@@ -18,6 +24,9 @@ export function TitleView() {
const
navigate
=
useNavigate
();
// 菜单栏是否收起
const
[
isActive
,
setIsActive
]
=
useState
(
false
);
// fdd实名认证信息
const
[
fddAuthInfo
,
setFddAuthInfo
]
=
useState
<
fddAuthType
>
();
// 用户信息
const
{
userInfo
}
=
useSelector
((
state
:
any
)
=>
state
.
UserInfo
);
// 菜单栏收起
...
...
@@ -25,6 +34,13 @@ export function TitleView() {
setIsActive
(
!
isActive
);
dispatch
(
SET_COLLAPSE
(
!
isActive
));
};
// 获取fdd实名认证信息
const
getAppUserFddInfo
=
()
=>
{
FddInterfaceAPI
.
getAppUserFddInfo
({
port
:
1
}).
then
(({
result
})
=>
{
setFddAuthInfo
(
result
);
});
};
// 右上角按钮
const
items
:
MenuProps
[
'items'
]
=
[
{
...
...
@@ -50,6 +66,10 @@ export function TitleView() {
),
},
];
useEffect
(()
=>
{
getAppUserFddInfo
();
},
[]);
return
(
<
Header
style=
{
{
...
...
@@ -87,6 +107,12 @@ export function TitleView() {
<
div
className=
'user-company'
>
{
userInfo
?.
companyInfoVO
?.
companyName
}
</
div
>
<
div
className=
'user-name'
>
{
userInfo
?.
accountNo
}
</
div
>
</
div
>
<
div
className=
'fdd-auth'
style=
{
{
color
:
fddAuthInfo
?.
entVerifyStatus
===
4
?
'#1890ff'
:
'red'
}
}
>
{
fddAuthInfo
?.
entVerifyStatus
===
4
?
'已认证'
:
'未认证'
}
</
div
>
<
Dropdown
overlayStyle=
{
{
textAlign
:
'center'
}
}
menu=
{
{
items
}
}
...
...
src/pages/orderManage/demandOrder/orderDetail/index.scss
浏览文件 @
4f7fb4bb
.detail-rich-text
{
image
,
video
{
max-width
:
100%
;
//
max-width: 100%;
}
}
src/pages/orderManage/productOrder/orderDetail/comp/detailPurchaser/index.tsx
浏览文件 @
4f7fb4bb
import
React
from
'react'
;
import
{
Button
,
Image
}
from
'antd'
;
import
{
getMallOrderDetailById
,
mallOrderDetailType
}
from
'~/api/interface/orderManageType'
;
import
{
Button
}
from
'antd'
;
import
{
mallOrderDetailType
}
from
'~/api/interface/orderManageType'
;
import
{
InterDataType
}
from
'~/api/interface'
;
import
{
contractStatusList
}
from
'~/utils/dictionary'
;
import
{
FddInterfaceAPI
}
from
'~/api'
;
import
{
decode
}
from
'js-base64'
;
import
FileSaver
from
'file-saver'
;
// 接口返回的类型
type
DataType
=
InterDataType
<
mallOrderDetailType
>
;
...
...
@@ -11,26 +15,61 @@ type PropsType = {
};
const
DetailPurchaser
:
React
.
FC
<
PropsType
>
=
({
detail
})
=>
{
return
(
<
div
className=
{
'detail-purchaser detail-half'
}
>
<
div
className=
{
'detail-title'
}
>
买家信息
</
div
>
<
div
className=
{
'detail-text'
}
>
UID:
</
div
>
<
div
className=
{
'detail-text'
}
>
姓名:
</
div
>
<
div
className=
{
'detail-text'
}
>
手机号:
</
div
>
<
div
className=
{
'detail-text'
}
>
备注:
</
div
>
{
/*<div style={{ display: 'none' }}>*/
}
{
/* <div className={'detail-title'}>合同信息</div>*/
}
{
/* <div className={'detail-text'}>合同编号: UAV202334741131</div>*/
}
{
/* <div className={'detail-text'}>合同状态: 已归档</div>*/
}
{
/* <div className={'detail-text'}>*/
}
{
/* 合同操作:*/
}
{
/* <Button type={'link'}>平台签署</Button>*/
}
{
/* <Button type={'link'}>查看</Button>*/
}
{
/* <Button type={'link'}>下载</Button>*/
}
{
/* </div>*/
}
{
/*</div>*/
}
// 合同预览
const
contractPreview
=
()
=>
{
if
(
detail
?.
contractInfoDTO
?.
contractNo
)
{
FddInterfaceAPI
.
viewContract
({
contractId
:
detail
?.
contractInfoDTO
?.
contractNo
}).
then
(
({
result
})
=>
{
window
.
open
(
decode
(
result
),
'_blank'
);
},
);
}
};
// 合同下载
const
downloadContract
=
()
=>
{
if
(
detail
?.
contractInfoDTO
?.
contractNo
)
{
FddInterfaceAPI
.
downloadContract
({
contractId
:
detail
?.
contractInfoDTO
?.
contractNo
}).
then
(
({
result
})
=>
{
FileSaver
.
saveAs
(
decode
(
result
),
`
${
detail
?.
contractInfoDTO
?.
contractNo
}.
pdf
`);
},
);
}
};
return (
<div className='detail-purchaser detail-half'>
<div className='detail-title'>买家信息</div>
<div className='detail-text'>UID:</div>
<div className='detail-text'>姓名: </div>
<div className='detail-text'>手机号: </div>
<div className='detail-text'>备注:</div>
{detail?.contractInfoDTO ? (
<div>
<div className='detail-title'>合同信息</div>
<div className='detail-text'>合同编号: {detail.contractInfoDTO.contractNo}</div>
<div className='detail-text'>合同标题: {detail.contractInfoDTO.contractTitle}</div>
<div className='detail-text'>
合同状态:
<span style={{ color: 'red' }}>
{
contractStatusList.find((v) => v.value === detail.contractInfoDTO?.signStatus)
?.label
}
</span>
</div>
<div className='detail-text'>
合同操作:
<Button type='link' onClick={contractPreview}>
查看
</Button>
<Button type='link' onClick={downloadContract}>
下载
</Button>
</div>
</div>
) : (
''
)}
{/*<div className={'detail-title'}>付款凭证</div>*/}
{/*<div className={'detail-text'}>预付款:</div>*/}
{/*<div className={'detail-image'}>*/}
...
...
src/pages/orderManage/productOrder/orderList/components/sureOrder/index.tsx
浏览文件 @
4f7fb4bb
...
...
@@ -56,7 +56,7 @@ const SureOrder: FC<ModalProps & selfProps> = ({ open, onOk, onCancel, mallOrder
title
:
'价格'
,
align
:
'center'
,
dataIndex
:
'unitPrice'
,
render
:
(
text
:
number
)
=>
text
.
to
Fixed
(
2
).
to
LocaleString
(),
render
:
(
text
:
number
)
=>
text
.
toLocaleString
(),
},
{
title
:
'数量'
,
...
...
@@ -114,6 +114,10 @@ const SureOrder: FC<ModalProps & selfProps> = ({ open, onOk, onCancel, mallOrder
OrderManageAPI
.
confirmOrder
({
...
values
[
0
],
id
:
mallOrderItem
.
id
}).
then
(
({
code
,
message
:
msg
})
=>
{
if
(
code
===
'200'
)
{
message
.
success
(
'确认订单成功'
);
orderInfoForm
.
resetFields
();
contractForm
.
resetFields
();
setContractFileList
([]);
onOk
();
}
else
{
message
.
error
(
msg
);
...
...
src/pages/orderManage/productOrder/orderList/index.tsx
浏览文件 @
4f7fb4bb
...
...
@@ -151,6 +151,7 @@ function ProductOrderView() {
setSureOrderShow
(
false
);
};
const
sureOrderOk
=
()
=>
{
getTableList
(
query
);
setSureOrderShow
(
false
);
};
// 凭证审批
...
...
@@ -230,7 +231,7 @@ function ProductOrderView() {
dataIndex
:
'orderTotalAmount'
,
align
:
'center'
,
render
:
(
text
)
=>
(
<
TableItem
tr=
{
<
div
className=
'goods-text'
>
¥
{
text
?.
to
Fixed
(
2
).
to
LocaleString
()
}
</
div
>
}
/>
<
TableItem
tr=
{
<
div
className=
'goods-text'
>
¥
{
text
?.
toLocaleString
()
}
</
div
>
}
/>
),
},
{
...
...
@@ -260,7 +261,7 @@ function ProductOrderView() {
<
TableItem
tr=
{
record
.
skuDTOList
.
map
((
v
)
=>
(
<
div
key=
{
v
.
id
}
className=
'goods-text'
>
¥
{
v
.
unitPrice
}
¥
{
v
.
unitPrice
?.
toLocaleString
()
}
</
div
>
))
}
/>
...
...
@@ -279,7 +280,7 @@ function ProductOrderView() {
dataIndex
:
'otherAmount'
,
align
:
'center'
,
render
:
(
text
)
=>
(
<
TableItem
tr=
{
<
div
className=
'goods-text'
>
¥
{
text
?.
to
Fixed
(
2
).
to
LocaleString
()
}
</
div
>
}
/>
<
TableItem
tr=
{
<
div
className=
'goods-text'
>
¥
{
text
?.
toLocaleString
()
}
</
div
>
}
/>
),
},
{
...
...
@@ -287,7 +288,7 @@ function ProductOrderView() {
dataIndex
:
'shareAmount'
,
align
:
'center'
,
render
:
(
text
)
=>
(
<
TableItem
tr=
{
<
div
className=
'goods-text'
>
¥
{
text
?.
to
Fixed
(
2
).
to
LocaleString
()
}
</
div
>
}
/>
<
TableItem
tr=
{
<
div
className=
'goods-text'
>
¥
{
text
?.
toLocaleString
()
}
</
div
>
}
/>
),
},
{
...
...
@@ -295,12 +296,14 @@ function ProductOrderView() {
dataIndex
:
'uid'
,
align
:
'center'
,
width
:
'15%'
,
render
:
(
text
,
_
record
)
=>
(
render
:
(
_text
:
any
,
record
)
=>
(
<
TableItem
tr=
{
<>
<
div
className=
'goods-text'
>
{
text
}
</
div
>
{
/*<div>{record.userName}</div>*/
}
<
div
className=
'goods-text'
>
<
div
>
{
record
.
userName
}
</
div
>
</
div
>
{
/*<div>{record.entName}</div>*/
}
</>
}
...
...
src/pages/systemManage/realNameAuth/index.tsx
浏览文件 @
4f7fb4bb
import
{
useEffect
,
useState
}
from
'react'
;
import
{
SystemManag
eAPI
}
from
'~/api'
;
import
{
FddInterfac
eAPI
}
from
'~/api'
;
import
{
decode
}
from
'js-base64'
;
const
RealNameAuth
=
()
=>
{
...
...
@@ -7,7 +7,7 @@ const RealNameAuth = () => {
// 获取第三方认证连接
const
getCompanyVerifyUrl
=
()
=>
{
SystemManag
eAPI
.
getCompanyVerifyUrl
({
port
:
1
}).
then
(({
result
})
=>
{
FddInterfac
eAPI
.
getCompanyVerifyUrl
({
port
:
1
}).
then
(({
result
})
=>
{
if
(
result
)
{
setAuthUrl
(
decode
(
result
));
}
...
...
src/utils/dictionary.ts
浏览文件 @
4f7fb4bb
...
...
@@ -96,3 +96,31 @@ export const withdrawStatusList = [
value
:
'approve'
,
},
];
// 合同状态字典
// 状态: 0、等待平台签署 1、平台签署失败 2、等待(买家/供应商)签署(平台签署成功) 3、(买家/供应商)签署失败 4、(买家/供应商)签署成功、5、归档
export
const
contractStatusList
=
[
{
label
:
'等待平台签署'
,
value
:
0
,
},
{
label
:
'平台签署失败'
,
value
:
1
,
},
{
label
:
'等待买家签署(平台签署成功)'
,
value
:
2
,
},
{
label
:
'买家签署失败'
,
value
:
3
,
},
{
label
:
'买家签署成功'
,
value
:
4
,
},
{
label
:
'归档'
,
value
:
5
,
},
];
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论