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
b6c7a7b4
Commit
b6c7a7b4
authored
Sep 16, 2021
by
GuanHua
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'v2' of
http://10.0.0.22:3000/lingxi/lingxi-business-paltform
into v2
parents
73d3d3ab
c8d88aff
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
729 additions
and
94 deletions
+729
-94
index.ts
config/routes/index.ts
+2
-2
index.tsx
src/components/ModalForm/index.tsx
+4
-5
BasicLayout.tsx
src/layouts/BasicLayout.tsx
+1
-0
index.tsx
src/pages/afterService/components/DeliverDrawer/index.tsx
+2
-2
index.tsx
src/pages/afterService/components/ReturnInfoDrawer/index.tsx
+3
-3
addDeliverBill.tsx
...changeApplication/exchangePrAddDeliver/addDeliverBill.tsx
+2
-2
deliverBillDetail.tsx
...ngeApplication/exchangePrAddDeliver/deliverBillDetail.tsx
+2
-2
addWarehouseBill.tsx
...Application/exchangePrAddWarehousing/addWarehouseBill.tsx
+1
-1
warehouseBillDetail.tsx
...lication/exchangePrAddWarehousing/warehouseBillDetail.tsx
+2
-2
addDeliverBill.tsx
...ce/exchangeManage/exchangePrAddDeliver/addDeliverBill.tsx
+2
-2
deliverBillDetail.tsx
...exchangeManage/exchangePrAddDeliver/deliverBillDetail.tsx
+2
-2
addWarehouseBill.tsx
...hangeManage/exchangePrAddWarehousing/addWarehouseBill.tsx
+1
-1
warehouseBillDetail.tsx
...geManage/exchangePrAddWarehousing/warehouseBillDetail.tsx
+2
-2
addDeliverBill.tsx
...e/returnApplication/returnPrAddDeliver/addDeliverBill.tsx
+2
-2
deliverBillDetail.tsx
...eturnApplication/returnPrAddDeliver/deliverBillDetail.tsx
+2
-2
addWarehouseBill.tsx
.../returnManage/returnPrAddWarehousing/addWarehouseBill.tsx
+2
-2
warehouseBillDetail.tsx
...turnManage/returnPrAddWarehousing/warehouseBillDetail.tsx
+2
-2
basicInfoForm.tsx
...ages/commodity/products/addProductsItem/basicInfoForm.tsx
+1
-1
index.tsx
src/pages/transaction/components/card/index.tsx
+4
-0
audit.tsx
...ges/transaction/dealAbility/confirmOffer/detail/audit.tsx
+1
-1
index.tsx
...lfManagement/readySubmitExamine/components/card/index.tsx
+1
-1
index.less
...nagementMonitor/components/activityProductList/index.less
+27
-0
index.tsx
...anagementMonitor/components/activityProductList/index.tsx
+85
-0
index.tsx
...ManagementMonitor/components/activityTypeLayout/index.tsx
+1
-1
index.less
...elfManagementMonitor/components/analysisLayout/index.less
+4
-0
index.tsx
...selfManagementMonitor/components/analysisLayout/index.tsx
+120
-0
index.less
...fManagementMonitor/components/chartLineAdvance/index.less
+8
-0
index.tsx
...lfManagementMonitor/components/chartLineAdvance/index.tsx
+164
-0
index.less
...ty/selfManagementMonitor/components/dataLayout/index.less
+38
-0
index.tsx
...ity/selfManagementMonitor/components/dataLayout/index.tsx
+55
-0
index.less
.../selfManagementMonitor/components/sourceLayout/index.less
+14
-0
index.tsx
...y/selfManagementMonitor/components/sourceLayout/index.tsx
+90
-0
index.tsx
...nsaction/marketingAbility/selfManagementMonitor/index.tsx
+20
-0
index.tsx
...urchaseAbility/purchaseInquiry/addInquiry/modal/index.tsx
+1
-1
index.tsx
...pages/transaction/purchaseOrder/orderCollectSrm/index.tsx
+4
-4
index.tsx
src/pages/transaction/saleOrder/constant/index.tsx
+5
-32
index.tsx
src/pages/transaction/saleOrder/index.tsx
+52
-19
No files found.
config/routes/index.ts
View file @
b6c7a7b4
...
...
@@ -5,7 +5,7 @@
* @LastEditTime: 2021-08-26 16:31:22
*/
// import CommodityRoute from './commodityRoute' // 商品能力路由
//
import MemberRoute from './memberRoute' // 会员能力路由
import
MemberRoute
from
'./memberRoute'
// 会员能力路由
// import ShopRoute from './shopRoute' // 店铺能力路由
// import ChannelRoute from './channelRoute' // 渠道能力路由
// import TranactionRoute from './tranactionRoute' // 交易能力路由
...
...
@@ -32,7 +32,7 @@ const homeRoute = {
key
:
'home'
,
component
:
'@/pages/home'
,
};
const
routes
=
isDev
?
[
homeRoute
,
marketingRoute
]
:
asyncRoutes
;
const
routes
=
isDev
?
[
homeRoute
,
marketingRoute
,
MemberRoute
]
:
asyncRoutes
;
const
memberCenterRoute
=
{
path
:
'/memberCenter'
,
...
...
src/components/ModalForm/index.tsx
View file @
b6c7a7b4
import
React
,
{
useState
,
useEffect
}
from
'react'
import
{
IAntdSchemaFormProps
}
from
'@formily/antd'
import
{
Modal
}
from
'antd'
import
NiceForm
from
'../NiceForm'
import
NiceForm
,
{
NiceFormProps
}
from
'../NiceForm'
import
{
ModalProps
}
from
'antd/es/modal'
export
interface
ModalFormProps
extends
IAntdSchemaFormProps
{
export
interface
ModalFormProps
extends
IAntdSchemaFormProps
,
NiceFormProps
{
confirm
?(),
cancel
?(),
closeabled
?:
boolean
...
...
@@ -26,7 +26,7 @@ const ModalForm:React.FC<ModalFormProps> = (props) => {
}
}
},
[])
const
handleConfirm
=
()
=>
{
// 是否需要关闭弹窗, 默认关闭
confirm
&&
confirm
()
...
...
@@ -55,4 +55,4 @@ const ModalForm:React.FC<ModalFormProps> = (props) => {
ModalForm
.
defaultProps
=
{}
export
default
ModalForm
\ No newline at end of file
export
default
ModalForm
src/layouts/BasicLayout.tsx
View file @
b6c7a7b4
...
...
@@ -112,6 +112,7 @@ const BasicLayout: React.FC<BasicLayoutProps> = (props) => {
const
animationFrameId
=
requestAnimationFrame
(()
=>
{
setSelectedKeys
(
keys
);
});
(
location
.
pathname
===
'/memberCenter/marketingAbility/selfManagementMonitor'
)
&&
handleMenuCollapse
(
true
)
return
()
=>
window
.
cancelAnimationFrame
&&
...
...
src/pages/afterService/components/DeliverDrawer/index.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-17 10:22:51
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-09-1
0 16:40:02
* @LastEditTime: 2021-09-1
4 14:21:15
* @Description: 退货发货抽屉
*/
...
...
@@ -155,7 +155,7 @@ type ProductListItemType = {
/**
* 数据id
*/
returnDetailId
:
number
,
returnDetailId
?
:
number
,
}
export
type
AfterType
=
2
|
3
...
...
src/pages/afterService/components/ReturnInfoDrawer/index.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-11-05 17:36:45
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-09-
08 20:00:0
3
* @LastEditTime: 2021-09-
15 10:08:3
3
* @Description: 查看退货数量与退款金额 抽屉
*/
import
React
,
{
useEffect
,
useState
}
from
'react'
;
...
...
@@ -196,7 +196,7 @@ const ReturnInfoDrawer: React.FC<ReturnInfoDrawerProps> = ({
}
let
payList
=
applyInfo
.
payList
?
applyInfo
.
payList
.
map
((
item
)
=>
({
...
item
,
payRatio
:
item
.
payRatio
*
100
,
payRatio
:
+
(
new
BigNumber
(
item
.
payRatio
).
multipliedBy
(
100
)).
toFixed
(
2
)
,
}))
:
[];
setPayInfoLoading
(
true
);
try
{
...
...
@@ -210,7 +210,7 @@ const ReturnInfoDrawer: React.FC<ReturnInfoDrawerProps> = ({
payId
:
item
.
paymentId
,
payCount
:
item
.
batchNo
,
payNode
:
item
.
payNode
,
payRatio
:
item
.
payRate
*
100
,
payRatio
:
+
(
new
BigNumber
(
item
.
payRate
).
multipliedBy
(
100
)).
toFixed
(
2
)
,
payAmount
:
item
.
payAmount
,
payWay
:
item
.
payType
,
payWayName
:
item
.
payTypeName
,
...
...
src/pages/afterService/exchangeApplication/exchangePrAddDeliver/addDeliverBill.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-19 19:49:57
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-0
8-19 20:01:52
* @LastEditTime: 2021-0
9-15 10:01:18
* @Description: 新增退货发货单
*/
import
React
,
{
useState
}
from
'react'
;
...
...
@@ -41,7 +41,7 @@ const ExchangeAddDeliverBill = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
replaceCount
,
count
:
item
.
replaceCount
,
...
...
src/pages/afterService/exchangeApplication/exchangePrAddDeliver/deliverBillDetail.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-19 19:50:47
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-0
8-19 20:03:11
* @LastEditTime: 2021-0
9-15 10:01:24
* @Description: 退货发货单详情
*/
import
React
from
'react'
;
...
...
@@ -36,7 +36,7 @@ const ExchangeDeliverBillDetail = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
replaceCount
,
count
:
item
.
replaceDeliveryCount
,
...
...
src/pages/afterService/exchangeApplication/exchangePrAddWarehousing/addWarehouseBill.tsx
View file @
b6c7a7b4
...
...
@@ -41,7 +41,7 @@ const ExchangeAddWarehouseBill = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
replaceCount
,
billCount
:
item
.
replaceDeliveryCount
,
...
...
src/pages/afterService/exchangeApplication/exchangePrAddWarehousing/warehouseBillDetail.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-20 15:55:17
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-0
8-20 17:44:0
2
* @LastEditTime: 2021-0
9-15 10:02:3
2
* @Description: 换货入库单详情
*/
import
React
from
'react'
;
...
...
@@ -36,7 +36,7 @@ const ExchangeWarehouseBillDetail = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
replaceCount
,
billCount
:
item
.
replaceDeliveryCount
,
...
...
src/pages/afterService/exchangeManage/exchangePrAddDeliver/addDeliverBill.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-20 15:14:42
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-0
8-20 15:20:22
* @LastEditTime: 2021-0
9-15 10:03:04
* @Description: 新增换货发货单
*/
import
React
,
{
useState
}
from
'react'
;
...
...
@@ -41,7 +41,7 @@ const ExchangeAddDeliverBill = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
replaceCount
,
count
:
item
.
receiveCount
,
...
...
src/pages/afterService/exchangeManage/exchangePrAddDeliver/deliverBillDetail.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-20 15:14:49
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-0
8-20 17:42:49
* @LastEditTime: 2021-0
9-15 10:03:11
* @Description: 换货发货单详情
*/
import
React
from
'react'
;
...
...
@@ -36,7 +36,7 @@ const ExchangeDeliverBillDetail = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
replaceCount
,
count
:
item
.
replaceDeliveryCount
,
...
...
src/pages/afterService/exchangeManage/exchangePrAddWarehousing/addWarehouseBill.tsx
View file @
b6c7a7b4
...
...
@@ -41,7 +41,7 @@ const ExchangeAddWarehouseBill = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
replaceCount
,
billCount
:
item
.
replaceDeliveryCount
,
...
...
src/pages/afterService/exchangeManage/exchangePrAddWarehousing/warehouseBillDetail.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-20 14:20:14
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-0
8-20 14:31:43
* @LastEditTime: 2021-0
9-15 10:02:48
* @Description: 换货退货入库单详情
*/
import
React
from
'react'
;
...
...
@@ -36,7 +36,7 @@ const ExchangeWarehouseBillDetail = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
replaceCount
,
billCount
:
item
.
replaceDeliveryCount
,
...
...
src/pages/afterService/returnApplication/returnPrAddDeliver/addDeliverBill.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-04 15:53:06
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-0
8-18 09:54:52
* @LastEditTime: 2021-0
9-15 10:00:55
* @Description: 新增退货发货单
*/
import
React
,
{
useState
}
from
'react'
;
...
...
@@ -41,7 +41,7 @@ const ReturnAddDeliverBill = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
returnCount
,
count
:
item
.
returnCount
,
...
...
src/pages/afterService/returnApplication/returnPrAddDeliver/deliverBillDetail.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-16 11:47:55
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-0
8-16 15:45:34
* @LastEditTime: 2021-0
9-15 10:01:33
* @Description: 退货发货单详情
*/
import
React
from
'react'
;
...
...
@@ -36,7 +36,7 @@ const ReturnDeliverBillDetail = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
returnCount
,
count
:
item
.
returnDeliveryCount
,
...
...
src/pages/afterService/returnManage/returnPrAddWarehousing/addWarehouseBill.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-13 18:19:27
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-0
8-20 16:25:11
* @LastEditTime: 2021-0
9-15 10:01:05
* @Description: 新增退货入库单
*/
import
React
,
{
useState
}
from
'react'
;
...
...
@@ -41,7 +41,7 @@ const ReturnAddWarehouseBill = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
returnCount
,
billCount
:
item
.
returnDeliveryCount
,
...
...
src/pages/afterService/returnManage/returnPrAddWarehousing/warehouseBillDetail.tsx
View file @
b6c7a7b4
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2021-08-16 15:30:19
* @LastEditors: XieZhiXiong
* @LastEditTime: 2021-0
8-20 16:47:35
* @LastEditTime: 2021-0
9-15 10:01:42
* @Description: 退货入库单详情
*/
import
React
from
'react'
;
...
...
@@ -36,7 +36,7 @@ const ReturnWarehouseBillDetail = () => {
productName
:
item
.
productName
,
category
:
item
.
category
,
brand
:
item
.
brand
,
unit
:
item
.
category
,
unit
:
item
.
unit
,
price
:
item
.
purchasePrice
,
relatedCount
:
item
.
returnCount
,
billCount
:
item
.
returnDeliveryCount
,
...
...
src/pages/commodity/products/addProductsItem/basicInfoForm.tsx
View file @
b6c7a7b4
...
...
@@ -242,7 +242,7 @@ const BasicInfoForm: React.FC<Iprops> = (props) => {
name=
"brandName"
label=
"商品品牌"
>
<
Input
placeholder=
"请选择商品品牌"
disabled=
{
!
isUpdateAttribute
}
defaultValue=
{
productInfoByEdit
.
brand
.
name
}
/>
<
Input
placeholder=
"请选择商品品牌"
disabled=
{
!
isUpdateAttribute
}
defaultValue=
{
productInfoByEdit
.
brand
?
.
name
}
/>
</
Form
.
Item
>
:
<
Form
.
Item
...
...
src/pages/transaction/components/card/index.tsx
View file @
b6c7a7b4
...
...
@@ -2,9 +2,13 @@ import React from 'react';
export
interface
CardType
{
/** 瞄点id */
id
?:
string
,
/** 标题 */
title
?:
string
,
/** 按钮组件 */
extra
?:
React
.
ReactNode
,
/** 背景颜色 */
backgroundColor
?:
string
,
}
...
...
src/pages/transaction/dealAbility/confirmOffer/detail/audit.tsx
View file @
b6c7a7b4
...
...
@@ -19,7 +19,7 @@ const AuditLayout: React.FC<AutditLayoutProps> = (props: any) => {
const
handleSubmit
=
useCallback
(
async
()
=>
{
await
form
.
validateFields
().
then
(
res
=>
{
PublicApi
.
postTransactionNotarizeEnquiryQuotedPriceAffirm
({
id
,
state
:
res
.
state
,
audit
:
res
.
audit
}).
then
(
res
=>
{
PublicApi
.
postTransactionNotarizeEnquiryQuotedPriceAffirm
({
id
,
state
:
res
.
state
,
audit
Opinion
:
res
.
audit
}).
then
(
res
=>
{
if
(
res
.
code
!==
1000
)
{
setLoading
(
false
)
return
...
...
src/pages/transaction/marketingAbility/selfManagement/readySubmitExamine/components/card/index.tsx
View file @
b6c7a7b4
...
...
@@ -12,7 +12,7 @@ export interface cardProps {
/** body样式修改 */
bodyStyle
?:
CSSProperties
,
/** calssName */
classNames
?:
string
classNames
?:
string
,
}
const
CardLayout
:
React
.
FC
<
cardProps
>
=
(
props
:
any
)
=>
{
...
...
src/pages/transaction/marketingAbility/selfManagementMonitor/components/activityProductList/index.less
0 → 100644
View file @
b6c7a7b4
.cardLayout {
margin-bottom: 16px !important;
.product_wrap {
display: flex;
align-items: center;
padding: 12px 16px;
border: 1px solid #EDEEEF;
border-radius: 4px;
.product_img {
height: 32px;
width: 32px;
overflow: hidden;
border-radius: 4px;
margin-right: 12px;
}
.product_item {
.product_item_title {
color: #252D37;
margin-bottom: 0;
}
.product_item_progress {
color: #EB9B00;
}
}
}
}
src/pages/transaction/marketingAbility/selfManagementMonitor/components/activityProductList/index.tsx
0 → 100644
View file @
b6c7a7b4
import
React
from
'react'
;
import
{
Row
,
Col
,
Image
}
from
'antd'
;
import
style
from
'./index.less'
;
import
CardLayout
from
'../../../selfManagement/readySubmitExamine/components/card'
;
const
ActivityProductList
=
()
=>
{
return
(
<
CardLayout
title=
'活动商品列表 (28)'
id=
'activityProductList'
weight
classNames=
{
style
.
cardLayout
}
>
<
Row
gutter=
{
[
16
,
16
]
}
>
<
Col
xl=
{
{
span
:
8
}
}
span=
{
12
}
>
<
div
className=
{
style
.
product_wrap
}
>
<
div
className=
{
style
.
product_img
}
>
<
Image
width=
{
32
}
height=
{
32
}
src=
'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
/>
</
div
>
<
div
className=
{
style
.
product_item
}
>
<
h5
className=
{
style
.
product_item_title
}
>
进口头层黄牛皮荔枝纹/红色/XL
</
h5
>
<
span
className=
{
style
.
product_item_progress
}
>
50%
</
span
>
</
div
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
8
}
}
span=
{
12
}
>
<
div
className=
{
style
.
product_wrap
}
>
<
div
className=
{
style
.
product_img
}
>
<
Image
width=
{
32
}
height=
{
32
}
src=
'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
/>
</
div
>
<
div
className=
{
style
.
product_item
}
>
<
h5
className=
{
style
.
product_item_title
}
>
进口头层黄牛皮荔枝纹/红色/XL
</
h5
>
<
span
className=
{
style
.
product_item_progress
}
>
50%
</
span
>
</
div
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
8
}
}
span=
{
12
}
>
<
div
className=
{
style
.
product_wrap
}
>
<
div
className=
{
style
.
product_img
}
>
<
Image
width=
{
32
}
height=
{
32
}
src=
'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
/>
</
div
>
<
div
className=
{
style
.
product_item
}
>
<
h5
className=
{
style
.
product_item_title
}
>
进口头层黄牛皮荔枝纹/红色/XL
</
h5
>
<
span
className=
{
style
.
product_item_progress
}
>
50%
</
span
>
</
div
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
8
}
}
span=
{
12
}
>
<
div
className=
{
style
.
product_wrap
}
>
<
div
className=
{
style
.
product_img
}
>
<
Image
width=
{
32
}
height=
{
32
}
src=
'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
/>
</
div
>
<
div
className=
{
style
.
product_item
}
>
<
h5
className=
{
style
.
product_item_title
}
>
进口头层黄牛皮荔枝纹/红色/XL
</
h5
>
<
span
className=
{
style
.
product_item_progress
}
>
50%
</
span
>
</
div
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
8
}
}
span=
{
12
}
>
<
div
className=
{
style
.
product_wrap
}
>
<
div
className=
{
style
.
product_img
}
>
<
Image
width=
{
32
}
height=
{
32
}
src=
'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
/>
</
div
>
<
div
className=
{
style
.
product_item
}
>
<
h5
className=
{
style
.
product_item_title
}
>
进口头层黄牛皮荔枝纹/红色/XL
</
h5
>
<
span
className=
{
style
.
product_item_progress
}
>
50%
</
span
>
</
div
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
8
}
}
span=
{
12
}
>
<
div
className=
{
style
.
product_wrap
}
>
<
div
className=
{
style
.
product_img
}
>
<
Image
width=
{
32
}
height=
{
32
}
src=
'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png'
/>
</
div
>
<
div
className=
{
style
.
product_item
}
>
<
h5
className=
{
style
.
product_item_title
}
>
进口头层黄牛皮荔枝纹/红色/XL
</
h5
>
<
span
className=
{
style
.
product_item_progress
}
>
50%
</
span
>
</
div
>
</
div
>
</
Col
>
</
Row
>
</
CardLayout
>
)
}
export
default
ActivityProductList
;
src/pages/transaction/marketingAbility/selfManagementMonitor/components/activityTypeLayout/index.tsx
View file @
b6c7a7b4
...
...
@@ -3,7 +3,7 @@ import { Progress } from 'antd';
import
style
from
'./index.less'
;
const
ActivityTypeLayout
=
()
=>
{
const
[
dataSource
,
setDataSource
]
=
useState
([
1
,
2
])
const
[
dataSource
,
setDataSource
]
=
useState
([
1
,
2
,
3
,
4
])
return
(
<
div
className=
{
style
.
list_box
}
>
<
div
className=
{
style
.
list_items
}
style=
{
{
width
:
dataSource
.
length
*
320
+
'px'
}
}
>
...
...
src/pages/transaction/marketingAbility/selfManagementMonitor/components/analysisLayout/index.less
0 → 100644
View file @
b6c7a7b4
.cardLayout {
min-height: 320px;
margin-bottom: 16px;
}
src/pages/transaction/marketingAbility/selfManagementMonitor/components/analysisLayout/index.tsx
0 → 100644
View file @
b6c7a7b4
import
React
from
'react'
;
import
{
Row
,
Col
,
Badge
,
Space
,
Divider
,
Typography
}
from
'antd'
;
import
CardLayout
from
'../../../selfManagement/readySubmitExamine/components/card'
;
import
DonutChart
from
'bizcharts/lib/plots/DonutChart'
;
import
style
from
'./index.less'
;
interface
AnalysisLayoutProps
{
/** 标题 */
title
?:
string
,
}
const
AnalysisLayout
:
React
.
FC
<
AnalysisLayoutProps
>
=
(
props
:
any
)
=>
{
const
{
title
}
=
props
;
const
data
=
[
{
type
:
"新用户"
,
value
:
27
,
},
{
type
:
"老用户"
,
value
:
25
,
},
{
type
:
"新会员"
,
value
:
18
,
},
{
type
:
"老会员"
,
value
:
15
,
},
];
return
(
<
CardLayout
weight
title=
{
title
}
classNames=
{
style
.
cardLayout
}
bodyStyle=
{
{
padding
:
'0px 16px 16px'
}
}
>
<
DonutChart
data=
{
data
||
[]
}
title=
{
null
}
autoFit
description=
{
null
}
height=
{
180
}
radius=
{
1
}
innerRadius=
{
0.75
}
padding=
"auto"
angleField=
"value"
colorField=
"type"
pieStyle=
{
{
stroke
:
"white"
,
lineWidth
:
4
}
}
label=
{
null
}
color=
{
[
'#00A98F'
,
'#007BFC'
,
'#EB9B00'
,
'#EF3346'
]
}
statistic=
{
{
title
:
{
formatter
:
(
text
)
=>
{
return
'用户总数'
},
offsetY
:
-
10
,
style
:
{
fontSize
:
"12px"
,
color
:
"#91959B"
,
},
},
content
:
{
formatter
:
(
text
)
=>
{
return
'5,000.00'
},
style
:
{
fontWeight
:
'400'
,
fontSize
:
"24px"
,
color
:
"#303133"
,
},
}
}
}
legend=
{
{
visible
:
false
,
}
}
/>
<
Row
gutter=
{
[
16
,
16
]
}
style=
{
{
marginTop
:
'26px'
}
}
>
<
Col
span=
{
12
}
>
<
Space
size=
{
12
}
>
<
Badge
color=
'#00A98F'
text=
'新用户'
/>
<
Divider
type=
"vertical"
/>
<
Typography
.
Text
type=
'secondary'
>
20%
</
Typography
.
Text
>
<
Typography
.
Text
>
12
</
Typography
.
Text
>
</
Space
>
</
Col
>
<
Col
span=
{
12
}
>
<
Space
size=
{
12
}
>
<
Badge
color=
'#EB9B00'
text=
'新会员'
/>
<
Divider
type=
"vertical"
/>
<
Typography
.
Text
type=
'secondary'
>
20%
</
Typography
.
Text
>
<
Typography
.
Text
>
12
</
Typography
.
Text
>
</
Space
>
</
Col
>
<
Col
span=
{
12
}
>
<
Space
size=
{
12
}
>
<
Badge
color=
'#007BFC'
text=
'老用户'
/>
<
Divider
type=
"vertical"
/>
<
Typography
.
Text
type=
'secondary'
>
20%
</
Typography
.
Text
>
<
Typography
.
Text
>
12
</
Typography
.
Text
>
</
Space
>
</
Col
>
<
Col
span=
{
12
}
>
<
Space
size=
{
12
}
>
<
Badge
color=
'#EF3346'
text=
'老会员'
/>
<
Divider
type=
"vertical"
/>
<
Typography
.
Text
type=
'secondary'
>
20%
</
Typography
.
Text
>
<
Typography
.
Text
>
12
</
Typography
.
Text
>
</
Space
>
</
Col
>
</
Row
>
</
CardLayout
>
)
}
export
default
AnalysisLayout
;
src/pages/transaction/marketingAbility/selfManagementMonitor/components/chartLineAdvance/index.less
0 → 100644
View file @
b6c7a7b4
.extraLayout {
margin-bottom: 16px;
:global {
.ant-card-extra {
padding: 0 0;
}
}
}
src/pages/transaction/marketingAbility/selfManagementMonitor/components/chartLineAdvance/index.tsx
0 → 100644
View file @
b6c7a7b4
import
React
from
'react'
;
import
{
Radio
,
Badge
,
Space
}
from
'antd'
;
import
{
Axis
,
Chart
}
from
'bizcharts'
;
import
LineAdvance
from
'bizcharts/lib/geometry/LineAdvance'
;
import
CardLayout
from
'@/pages/transaction/components/card'
;
import
style
from
'./index.less'
;
interface
ChartLineAdvanceProps
{
/** 数据 */
// data?: any[]
/** 标题 */
title
?:
string
,
/** 类型 */
type
?:
'lineAdvance'
|
'lineInterval'
|
{}
&
string
,
}
const
ChartLineAdvance
:
React
.
FC
<
ChartLineAdvanceProps
>
=
(
props
:
any
)
=>
{
const
{
title
,
type
=
'lineAdvance'
}
=
props
;
const
scale
=
{
count
:
{
min
:
0
,
tickInterval
:
200
,
}
}
const
data
=
[
{
dateTime
:
'01:00'
,
count
:
900
,
},
{
dateTime
:
'02:00'
,
count
:
900
,
},
{
dateTime
:
'03:00'
,
count
:
900
,
},
{
dateTime
:
'04:00'
,
count
:
900
,
},
{
dateTime
:
'05:00'
,
count
:
900
,
},
{
dateTime
:
'06:00'
,
count
:
900
,
},
{
dateTime
:
'07:00'
,
count
:
900
,
},
{
dateTime
:
'08:00'
,
count
:
900
,
},
{
dateTime
:
'09:00'
,
count
:
900
,
},
{
dateTime
:
'10:00'
,
count
:
900
,
},
{
dateTime
:
'11:00'
,
count
:
900
,
},
{
dateTime
:
'12:00'
,
count
:
900
,
},
{
dateTime
:
'13:00'
,
count
:
888
,
},
{
dateTime
:
'14:00'
,
count
:
900
,
},
{
dateTime
:
'15:00'
,
count
:
880
,
},
{
dateTime
:
'16:00'
,
count
:
900
,
},
{
dateTime
:
'17:00'
,
count
:
870
,
},
{
dateTime
:
'18:00'
,
count
:
990
,
},
{
dateTime
:
'19:00'
,
count
:
950
,
},
{
dateTime
:
'20:00'
,
count
:
850
,
},
{
dateTime
:
'21:00'
,
count
:
650
,
},
{
dateTime
:
'22:00'
,
count
:
500
,
},
{
dateTime
:
'23:00'
,
count
:
500
,
},
{
dateTime
:
'24:00'
,
count
:
1000
,
},
]
/** 类型 */
const
extraButtonType
=
<
Space
>
{
type
===
'lineInterval'
&&
(
<>
<
Badge
color=
'green'
text=
'购买金额'
/>
<
Badge
color=
'blue'
text=
'订单数量'
/>
</>
)
}
<
Radio
.
Group
defaultValue=
{
1
}
size=
"small"
>
<
Radio
.
Button
value=
{
1
}
>
今日
</
Radio
.
Button
>
<
Radio
.
Button
value=
{
2
}
>
最近7日
</
Radio
.
Button
>
<
Radio
.
Button
value=
{
3
}
>
全部
</
Radio
.
Button
>
</
Radio
.
Group
>
</
Space
>
return
(
<
div
className=
{
style
.
extraLayout
}
>
<
CardLayout
id=
'chartLineAdvance'
title=
{
title
}
extra=
{
extraButtonType
}
>
<
Chart
autoFit
height=
{
239
}
data=
{
data
}
scale=
{
scale
}
>
<
Axis
name=
"dateTime"
visible=
{
true
}
/>
<
Axis
name=
"count"
visible=
{
true
}
/>
<
LineAdvance
position=
"dateTime*count"
color=
'#00A98F'
point
area
shape=
"smooth"
/>
</
Chart
>
</
CardLayout
>
</
div
>
)
}
export
default
ChartLineAdvance
;
src/pages/transaction/marketingAbility/selfManagementMonitor/components/dataLayout/index.less
0 → 100644
View file @
b6c7a7b4
.cardLayout {
margin-bottom: 16px !important;
.dataLayout_wrap {
padding: 8px 16px;
background-color: #F5F6F7;
border-radius: 4px;
.dataLayout_wran {
color: #91959B;
margin-bottom: 0;
padding: 8px 0px 7px;
}
.dataLayout_item {
display: flex;
align-items: center;
justify-content: space-between;
.dataLayout_num {
font-size: 20px;
color: #1F2C3D;
margin-bottom: 0;
}
.dataLayout_value {
width: 47px;
height: 16px;
color: #EF3346;
background-color: #FFF0F2;
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
.info_icon_style {
font-size: 10px;
color: #EF3346;
}
}
}
}
}
src/pages/transaction/marketingAbility/selfManagementMonitor/components/dataLayout/index.tsx
0 → 100644
View file @
b6c7a7b4
import
React
from
'react'
;
import
{
Row
,
Col
}
from
'antd'
;
import
style
from
'./index.less'
;
import
CardLayout
from
'../../../selfManagement/readySubmitExamine/components/card'
;
import
{
CaretUpOutlined
}
from
'@ant-design/icons'
;
const
DataLayout
=
()
=>
{
return
(
<
CardLayout
weight
title=
'当前商品数据'
classNames=
{
style
.
cardLayout
}
>
<
Row
gutter=
{
[
16
,
16
]
}
>
<
Col
xl=
{
{
span
:
6
}
}
span=
{
12
}
>
<
div
className=
{
style
.
dataLayout_wrap
}
>
<
h5
className=
{
style
.
dataLayout_wran
}
>
今日参与客户数 (人)
</
h5
>
<
div
className=
{
style
.
dataLayout_item
}
>
<
h4
className=
{
style
.
dataLayout_num
}
>
10
</
h4
>
<
div
className=
{
style
.
dataLayout_value
}
><
CaretUpOutlined
className=
{
style
.
info_icon_style
}
/>
25%
</
div
>
</
div
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
6
}
}
span=
{
12
}
>
<
div
className=
{
style
.
dataLayout_wrap
}
>
<
h5
className=
{
style
.
dataLayout_wran
}
>
今日订单数 (单)
</
h5
>
<
div
className=
{
style
.
dataLayout_item
}
>
<
h4
className=
{
style
.
dataLayout_num
}
>
10
</
h4
>
<
div
className=
{
style
.
dataLayout_value
}
><
CaretUpOutlined
className=
{
style
.
info_icon_style
}
/>
25%
</
div
>
</
div
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
6
}
}
span=
{
12
}
>
<
div
className=
{
style
.
dataLayout_wrap
}
>
<
h5
className=
{
style
.
dataLayout_wran
}
>
今日购买数量 (件)
</
h5
>
<
div
className=
{
style
.
dataLayout_item
}
>
<
h4
className=
{
style
.
dataLayout_num
}
>
200
</
h4
>
<
div
className=
{
style
.
dataLayout_value
}
><
CaretUpOutlined
className=
{
style
.
info_icon_style
}
/>
25%
</
div
>
</
div
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
6
}
}
span=
{
12
}
>
<
div
className=
{
style
.
dataLayout_wrap
}
>
<
h5
className=
{
style
.
dataLayout_wran
}
>
今日购买金额 (元)
</
h5
>
<
div
className=
{
style
.
dataLayout_item
}
>
<
h4
className=
{
style
.
dataLayout_num
}
>
1,000.00
</
h4
>
<
div
className=
{
style
.
dataLayout_value
}
><
CaretUpOutlined
className=
{
style
.
info_icon_style
}
/>
25%
</
div
>
</
div
>
</
div
>
</
Col
>
</
Row
>
</
CardLayout
>
)
}
export
default
DataLayout
;
src/pages/transaction/marketingAbility/selfManagementMonitor/components/sourceLayout/index.less
0 → 100644
View file @
b6c7a7b4
.cardLayout {
margin-bottom: 16px !important;
min-height: 320px;
.sourceLayout_wrap {
// width: 176px;
height: 64px;
display: flex;
padding: 16px;
background: #FAFBFC;
border-radius: 4px;
}
}
src/pages/transaction/marketingAbility/selfManagementMonitor/components/sourceLayout/index.tsx
0 → 100644
View file @
b6c7a7b4
import
React
from
'react'
;
import
{
Row
,
Col
,
Space
,
Avatar
,
Typography
}
from
'antd'
;
import
CardLayout
from
'../../../selfManagement/readySubmitExamine/components/card'
;
import
style
from
'./index.less'
;
const
SourceLayout
=
()
=>
{
return
(
<
CardLayout
title=
'当前商品用户来源分析'
weight
classNames=
{
style
.
cardLayout
}
>
<
Row
gutter=
{
[
16
,
16
]
}
>
<
Col
xl=
{
{
span
:
12
}
}
span=
{
24
}
>
<
div
className=
{
style
.
sourceLayout_wrap
}
>
<
Space
>
<
div
className=
{
style
.
sourceLayout_avatar
}
>
<
Avatar
shape=
"square"
size=
{
32
}
>
Logo
</
Avatar
>
</
div
>
<
div
className=
{
style
.
sourceLayout_content
}
>
<
div
className=
{
style
.
sourceLayout_content_title
}
>
WEB 企业商城
</
div
>
<
div
className=
{
style
.
sourceLayout_content_data
}
>
<
Space
>
<
Typography
.
Text
type=
'success'
>
15%
</
Typography
.
Text
>
<
Typography
.
Text
type=
'secondary'
>
456人
</
Typography
.
Text
>
</
Space
>
</
div
>
</
div
>
</
Space
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
12
}
}
span=
{
24
}
>
<
div
className=
{
style
.
sourceLayout_wrap
}
>
<
Space
>
<
div
className=
{
style
.
sourceLayout_avatar
}
>
<
Avatar
shape=
"square"
size=
{
32
}
>
Logo
</
Avatar
>
</
div
>
<
div
className=
{
style
.
sourceLayout_content
}
>
<
div
className=
{
style
.
sourceLayout_content_title
}
>
WEB 企业商城
</
div
>
<
div
className=
{
style
.
sourceLayout_content_data
}
>
<
Space
>
<
Typography
.
Text
type=
'success'
>
15%
</
Typography
.
Text
>
<
Typography
.
Text
type=
'secondary'
>
456人
</
Typography
.
Text
>
</
Space
>
</
div
>
</
div
>
</
Space
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
12
}
}
span=
{
24
}
>
<
div
className=
{
style
.
sourceLayout_wrap
}
>
<
Space
>
<
div
className=
{
style
.
sourceLayout_avatar
}
>
<
Avatar
shape=
"square"
size=
{
32
}
>
Logo
</
Avatar
>
</
div
>
<
div
className=
{
style
.
sourceLayout_content
}
>
<
div
className=
{
style
.
sourceLayout_content_title
}
>
WEB 企业商城
</
div
>
<
div
className=
{
style
.
sourceLayout_content_data
}
>
<
Space
>
<
Typography
.
Text
type=
'success'
>
15%
</
Typography
.
Text
>
<
Typography
.
Text
type=
'secondary'
>
456人
</
Typography
.
Text
>
</
Space
>
</
div
>
</
div
>
</
Space
>
</
div
>
</
Col
>
<
Col
xl=
{
{
span
:
12
}
}
span=
{
24
}
>
<
div
className=
{
style
.
sourceLayout_wrap
}
>
<
Space
>
<
div
className=
{
style
.
sourceLayout_avatar
}
>
<
Avatar
shape=
"square"
size=
{
32
}
>
Logo
</
Avatar
>
</
div
>
<
div
className=
{
style
.
sourceLayout_content
}
>
<
div
className=
{
style
.
sourceLayout_content_title
}
>
WEB 企业商城
</
div
>
<
div
className=
{
style
.
sourceLayout_content_data
}
>
<
Space
>
<
Typography
.
Text
type=
'success'
>
15%
</
Typography
.
Text
>
<
Typography
.
Text
type=
'secondary'
>
456人
</
Typography
.
Text
>
</
Space
>
</
div
>
</
div
>
</
Space
>
</
div
>
</
Col
>
</
Row
>
</
CardLayout
>
)
}
export
default
SourceLayout
;
src/pages/transaction/marketingAbility/selfManagementMonitor/index.tsx
View file @
b6c7a7b4
...
...
@@ -4,6 +4,11 @@ import { PageHeaderWrapper } from '@ant-design/pro-layout';
import
ActivityLayout
from
'./components/activityLayout'
;
import
ProductListLayout
from
'./components/productListLayout'
;
import
ActivityTypeLayout
from
'./components/activityTypeLayout'
;
import
ActivityProductList
from
'./components/activityProductList'
;
import
DataLayout
from
'./components/dataLayout'
;
import
ChartLineAdvance
from
'./components/chartLineAdvance'
;
import
SourceLayout
from
'./components/sourceLayout'
;
import
AnalysisLayout
from
'./components/analysisLayout'
;
const
SelfManagementMonitor
=
()
=>
{
return
(
...
...
@@ -12,6 +17,21 @@ const SelfManagementMonitor = () => {
<
Row
gutter=
{
[
16
,
16
]
}
>
<
Col
xl=
{
{
span
:
18
}
}
span=
{
14
}
>
<
ActivityTypeLayout
/>
<
ActivityProductList
/>
<
DataLayout
/>
<
ChartLineAdvance
title=
'当前商品客户趋势分析'
/>
<
ChartLineAdvance
title=
'当前商品活动效果趋势分析'
type=
'lineInterval'
/>
<
Row
gutter=
{
[
16
,
16
]
}
>
<
Col
span=
{
8
}
>
<
SourceLayout
/>
</
Col
>
<
Col
span=
{
8
}
>
<
AnalysisLayout
title=
'当前商品用户类型分析'
/>
</
Col
>
<
Col
span=
{
8
}
>
<
AnalysisLayout
title=
'当前商品会员等级分析'
/>
</
Col
>
</
Row
>
</
Col
>
<
Col
xl=
{
{
span
:
6
}
}
span=
{
10
}
>
<
ProductListLayout
/>
...
...
src/pages/transaction/purchaseAbility/purchaseInquiry/addInquiry/modal/index.tsx
View file @
b6c7a7b4
...
...
@@ -94,7 +94,7 @@ const AnchorModal: React.FC<AnchorModalProps> = (props: any) => {
/**查询品类树 */
const
searchCategoryTree
=
(
id
:
any
)
=>
{
return
new
Promise
(
resolve
=>
{
PublicApi
.
getProduct
PlatformGet
CategoryTree
({
rootNodeId
:
id
}).
then
(
res
=>
{
PublicApi
.
getProduct
CustomerGetCustomer
CategoryTree
({
rootNodeId
:
id
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
resolve
(
res
.
data
)
}
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/index.tsx
View file @
b6c7a7b4
...
...
@@ -156,10 +156,10 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
spec
:
item
.
type
,
quotedSpec
:
item
.
relevanceProductType
,
deliveryType
:
item
.
logistics
,
addressId
:
address
.
id
||
null
,
address
:
address
.
fullAddress
||
null
,
receiver
:
address
.
shipperName
||
null
,
phone
:
address
.
phone
||
null
,
addressId
:
address
?
.
id
||
null
,
address
:
address
?
.
fullAddress
||
null
,
receiver
:
address
?
.
shipperName
||
null
,
phone
:
address
?
.
phone
||
null
,
}
})
...
...
src/pages/transaction/saleOrder/constant/index.tsx
View file @
b6c7a7b4
...
...
@@ -9,7 +9,6 @@ import { ISchemaFormActions, ISchemaFormAsyncActions } from '@formily/antd'
import
{
useModalTable
}
from
'../../purchaseOrder/orderCollectB2b/model/useModalTable'
import
{
Button
}
from
'antd'
import
{
PublicApi
}
from
'@/services/api'
import
{
setAuth
,
setRouters
}
from
'@/utils/auth'
/** 订单审核各个页面 只有订单类型查询的Schema */
export
const
tableListSchema
:
any
=
(
align
?:
String
,
colStyle
?:
Object
)
=>
{
...
...
@@ -154,26 +153,11 @@ export const useTransformOrderTable = (ctx: ISchemaFormActions | ISchemaFormAsyn
const
{
visible
,
setVisible
}
=
useModalTable
()
const
handleDelete
=
(
record
)
=>
{
}
const
handleModify
=
(
record
)
=>
{
alert
(
'转单修改'
)
// PublicApi.postMemberLoginSwitchrole({
// memberRoleId: 11,
// }).then(res => {
// if (res.code === 1000) {
// // @ts-ignore
// setAuth(res.data);
// setRouters(res.data.urls);
// setTimeout(() => {
// window.location.replace(`/memberCenter/tranactionAbility/productInquiry/waitAddInquiry/two?id=${record.order}`);
// }, 800);
// }
// }).catch(err => { })
console
.
log
(
record
,
'删除转单'
)
}
const
[
orderColumns
,
setOrderColumns
]
=
useState
(()
=>
{
const
orderInfoColumns
=
[
{
title
:
'订单号'
,
...
...
@@ -199,17 +183,9 @@ export const useTransformOrderTable = (ctx: ISchemaFormActions | ISchemaFormAsyn
{
title
:
'供应会员'
,
align
:
'center'
,
dataIndex
:
'
vendor
MemberName'
,
key
:
'
vendor
MemberName'
,
dataIndex
:
'
supply
MemberName'
,
key
:
'
supply
MemberName'
,
ellipsis
:
true
,
render
:
(
t
,
r
)
=>
t
?
t
:
r
.
memberName
},
{
title
:
'下单时间'
,
align
:
'center'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
render
:
(
text
)
=>
formatTimeString
(
text
)
},
{
title
:
'订单总额'
,
...
...
@@ -221,10 +197,7 @@ export const useTransformOrderTable = (ctx: ISchemaFormActions | ISchemaFormAsyn
},
]
// 渲染操作
orderInfoColumns
[
orderInfoColumns
.
length
-
1
].
render
=
(
text
,
record
)
=>
<>
<
Button
type=
'link'
size=
"small"
onClick=
{
()
=>
handleModify
(
record
)
}
>
修改
</
Button
>
<
Button
type=
'link'
size=
"small"
onClick=
{
()
=>
handleDelete
(
record
)
}
>
删除
</
Button
>
</>
orderInfoColumns
[
orderInfoColumns
.
length
-
1
].
render
=
(
text
,
record
)
=>
<
Button
type=
'link'
size=
"small"
onClick=
{
()
=>
handleDelete
(
record
)
}
>
删除
</
Button
>
return
orderInfoColumns
})
...
...
src/pages/transaction/saleOrder/index.tsx
View file @
b6c7a7b4
import
React
,
{
useRef
}
from
'react'
import
{
Card
,
Button
,
Space
}
from
'antd'
import
React
,
{
useRef
,
useState
}
from
'react'
import
{
Card
,
Button
,
Space
,
message
}
from
'antd'
import
{
StandardTable
}
from
'god'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
PublicApi
}
from
'@/services/api'
...
...
@@ -36,8 +36,8 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => {
const
pauseRef
=
useRef
<
any
>
({})
const
{
run
,
loading
}
=
useHttpRequest
(
PublicApi
.
postOrderVendorCancel
)
const
{
run
:
runPause
,
loading
:
loadingEnd
}
=
useHttpRequest
(
PublicApi
.
postOrderVendorTerminate
)
const
{
transformRef
,
orderColumns
}
=
useTransformOrderTable
(
transformActions
)
// const [transformLoading, setTransformLoading] = useState<boolean>(false)
// 提交取消
const
handleSubmit
=
()
=>
{
...
...
@@ -81,29 +81,62 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => {
pauseActions
.
setFieldValue
(
'state'
,
1
)
}
// 单个转单
const
handelTransformOrder
=
(
r
)
=>
{
transformRef
.
current
.
setVisible
(
true
)
transformActions
.
setFieldValue
(
'orders'
,
[
{
id
:
1
,
orderNo
:
'TYBHU'
,
digest
:
'666'
,
vendorMemberName
:
'999'
,
createTime
:
'2015-12-20 20:15:12'
,
amount
:
'123'
},
{
id
:
2
,
orderNo
:
'IYGUIH'
,
digest
:
'56'
,
vendorMemberName
:
'651'
,
createTime
:
'2015-02-15 20:15:12'
,
amount
:
'123'
}
])
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
<
Array
<
number
>>
([])
const
selectRef
=
useRef
([])
const
rowSelection
=
{
selectedRowKeys
:
selectedRowKeys
,
onChange
:
(
selectedRowKeys
)
=>
{
setSelectedRowKeys
(
selectedRowKeys
)
selectRef
.
current
=
selectedRowKeys
},
getCheckboxProps
:
(
record
)
=>
({
disabled
:
!
record
.
showTransfer
,
name
:
record
.
name
,
}),
}
// 单个或批量转单
const
handelTransformOrder
=
async
(
orderId
?)
=>
{
if
(
orderId
)
{
const
{
code
,
data
}
=
await
PublicApi
.
postOrderVendorTransferPreview
([{
orderId
}])
if
(
code
===
1000
)
{
transformRef
.
current
.
setVisible
(
true
)
console
.
log
(
data
,
'fdd'
)
transformActions
.
setFieldValue
(
'orders'
,
data
)
}
}
else
if
(
selectRef
.
current
.
length
)
{
const
{
code
,
data
}
=
await
PublicApi
.
postOrderVendorTransferPreview
(
selectRef
.
current
.
map
(
item
=>
({
orderId
:
item
})))
if
(
code
===
1000
)
{
transformRef
.
current
.
setVisible
(
true
)
console
.
log
(
data
,
'fdd'
)
transformActions
.
setFieldValue
(
'orders'
,
data
)
}
}
else
{
return
message
.
error
(
'请选择需要转单的订单'
)
}
}
// 批量转单
const
handleSubmitTransform
=
()
=>
{
alert
(
'批量转单'
)
transformActions
.
submit
(
values
=>
{
console
.
log
(
values
)
const
{
roleId
,
orders
}
=
values
PublicApi
.
postOrderVendorTransfer
({
roleId
,
orderIds
:
orders
.
map
(
item
=>
item
.
orderId
)}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
ref
.
current
.
reload
()
}
})
})
}
/** 参照后台数据生成 */
const
renderOptionButton
=
(
record
:
any
)
=>
{
const
buttonGroup
=
{
'取消订单'
:
record
.
showCancel
,
'中止'
:
record
.
showTerminate
,
'评价'
:
record
.
showComment
,
'转单'
:
true
}
const
buttonGroup
=
{
'取消订单'
:
record
.
showCancel
,
'中止'
:
record
.
showTerminate
,
'评价'
:
record
.
showComment
,
'转单'
:
record
.
showTransfer
}
const
operationHandler
=
{
'取消订单'
:
()
=>
handleCancel
(
record
),
'中止'
:
()
=>
handleSuspend
(
record
),
'评价'
:
()
=>
handleEvaluate
(
record
.
orderId
),
'转单'
:
()
=>
handelTransformOrder
(
record
),
'转单'
:
()
=>
handelTransformOrder
(
record
.
orderId
),
}
return
(
...
...
@@ -131,7 +164,7 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => {
const
controllerBtns
=
<
Space
>
<
Button
style=
{
{
width
:
140
}
}
onClick=
{
()
=>
{}
}
type=
'default'
>
导出
</
Button
>
<
Button
type=
"primary"
>
转单
</
Button
>
<
Button
type=
"primary"
onClick=
{
()
=>
handelTransformOrder
()
}
>
转单
</
Button
>
</
Space
>
registerVirtualBox
(
"CustomTitle"
,
({
children
,
schema
})
=>
{
...
...
@@ -143,7 +176,9 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => {
<
StandardTable
fetchTableData=
{
params
=>
fetchTableData
(
params
)
}
columns=
{
secondColumns
()
}
rowSelection=
{
rowSelection
}
currentRef=
{
ref
}
rowKey=
"orderId"
controlRender=
{
<
NiceForm
actions=
{
formActions
}
...
...
@@ -166,9 +201,6 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => {
}
}
/>
}
tableProps=
{
{
rowKey
:
'orderNo'
,
}
}
/>
</
Card
>
{
/* 取消原因 */
}
...
...
@@ -272,10 +304,11 @@ const SaleOrder: React.FC<SaleOrderProps> = (props) => {
currentRef=
{
transformRef
}
confirm=
{
handleSubmitTransform
}
actions=
{
transformActions
}
// loading={transformLoading}
schema=
{
{
type
:
'object'
,
properties
:
{
role
Type
:
{
role
Id
:
{
type
:
'number'
,
title
:
'会员角色(转单采购)'
,
enum
:
[
...
...
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