Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
merchant-manage-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
ui
merchant-manage-ui
Commits
82c7b247
Commit
82c7b247
authored
Jun 16, 2022
by
张子雨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Feat/aging2.0
parent
69a1c77f
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
326 additions
and
69 deletions
+326
-69
config.js
config/config.js
+18
-0
package-lock.json
package-lock.json
+0
-1
index.jsx
src/pages/Admin/index.jsx
+1
-1
index.jsx
src/pages/AfterSaleManage/PassAudit/index.jsx
+5
-5
index.jsx
src/pages/AfterSaleManage/Pending/index.jsx
+54
-5
services.js
src/pages/AfterSaleManage/services.js
+1
-4
index.jsx
src/pages/GoodsManage/SearchForm/index.jsx
+38
-9
index.jsx
src/pages/GoodsManage/TempleatModal/index.jsx
+74
-22
index.jsx
src/pages/GoodsManage/createModal/index.jsx
+54
-4
index.jsx
src/pages/GoodsManage/index.jsx
+20
-8
service.js
src/pages/GoodsManage/service.js
+25
-1
upload.jsx
src/pages/PaymentMange/ToExamine/upload.jsx
+10
-3
form.jsx
src/pages/afterSaleAddress/form.jsx
+11
-0
index.jsx
src/pages/afterSaleAddress/index.jsx
+10
-2
services.js
src/pages/afterSaleAddress/services.js
+2
-2
Pending.jsx
src/pages/cancelBillManage/Pending.jsx
+3
-1
index.jsx
src/pages/components/sortablUpload/index.jsx
+0
-1
No files found.
config/config.js
View file @
82c7b247
...
@@ -79,6 +79,7 @@ export default {
...
@@ -79,6 +79,7 @@ export default {
{
{
path
:
'
/
'
,
path
:
'
/
'
,
component
:
'
../layouts/SecurityLayout
'
,
component
:
'
../layouts/SecurityLayout
'
,
title
:
'
商户管理后台
'
,
routes
:
[
routes
:
[
{
{
path
:
'
/
'
,
path
:
'
/
'
,
...
@@ -86,73 +87,87 @@ export default {
...
@@ -86,73 +87,87 @@ export default {
authority
:
[
'
Admin
'
,
'
user
'
],
authority
:
[
'
Admin
'
,
'
user
'
],
routes
:
[
routes
:
[
{
{
title
:
'
首页
'
,
path
:
'
/
'
,
path
:
'
/
'
,
component
:
'
./Admin
'
,
component
:
'
./Admin
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/orderManage/pendingDeliveryOrder
'
,
path
:
'
/orderManage/pendingDeliveryOrder
'
,
name
:
'
pendingDeliveryOrder
'
,
name
:
'
pendingDeliveryOrder
'
,
component
:
'
./orderManage/pendingDeliveryOrder
'
,
component
:
'
./orderManage/pendingDeliveryOrder
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/orderManage/deliveryOrder
'
,
path
:
'
/orderManage/deliveryOrder
'
,
name
:
'
deliveryOrder
'
,
name
:
'
deliveryOrder
'
,
component
:
'
./orderManage/deliveryOrder
'
,
component
:
'
./orderManage/deliveryOrder
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/orderManage/batchDelivery
'
,
path
:
'
/orderManage/batchDelivery
'
,
name
:
'
batchDeliveryOrder
'
,
name
:
'
batchDeliveryOrder
'
,
component
:
'
./orderManage/batchDelivery
'
,
component
:
'
./orderManage/batchDelivery
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/afterSaleAddress
'
,
path
:
'
/afterSaleAddress
'
,
name
:
'
afterSaleAddress
'
,
name
:
'
afterSaleAddress
'
,
component
:
'
./afterSaleAddress
'
,
component
:
'
./afterSaleAddress
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/reconciliation
'
,
path
:
'
/reconciliation
'
,
name
:
'
reconciliation
'
,
name
:
'
reconciliation
'
,
component
:
'
./reconciliation
'
,
component
:
'
./reconciliation
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/reconciliation/detail
'
,
path
:
'
/reconciliation/detail
'
,
name
:
'
reconciliationDetail
'
,
name
:
'
reconciliationDetail
'
,
component
:
'
./reconciliation/detail/index
'
,
component
:
'
./reconciliation/detail/index
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/settleManage
'
,
path
:
'
/settleManage
'
,
name
:
'
settleManage
'
,
name
:
'
settleManage
'
,
component
:
'
./settleManage
'
,
component
:
'
./settleManage
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/afterSaleManage
'
,
path
:
'
/afterSaleManage
'
,
name
:
'
afterSaleManage
'
,
name
:
'
afterSaleManage
'
,
icon
:
'
smile
'
,
icon
:
'
smile
'
,
component
:
'
./AfterSaleManage/index
'
,
component
:
'
./AfterSaleManage/index
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/auditPending
'
,
path
:
'
/auditPending
'
,
name
:
'
auditPending
'
,
name
:
'
auditPending
'
,
icon
:
'
smile
'
,
icon
:
'
smile
'
,
component
:
'
./AfterSaleManage/Pending
'
,
component
:
'
./AfterSaleManage/Pending
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/passAudit
'
,
path
:
'
/passAudit
'
,
name
:
'
passAudit
'
,
name
:
'
passAudit
'
,
icon
:
'
smile
'
,
icon
:
'
smile
'
,
component
:
'
./AfterSaleManage/PassAudit
'
,
component
:
'
./AfterSaleManage/PassAudit
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/appeal
'
,
path
:
'
/appeal
'
,
name
:
'
appeal
'
,
name
:
'
appeal
'
,
component
:
'
./afterSale/appeal
'
,
component
:
'
./afterSale/appeal
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/cancelBillManage
'
,
path
:
'
/cancelBillManage
'
,
name
:
'
cancelBillManage
'
,
name
:
'
cancelBillManage
'
,
component
:
'
./cancelBillManage
'
,
component
:
'
./cancelBillManage
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/goodsManage
'
,
path
:
'
/goodsManage
'
,
name
:
'
goodsManage
'
,
name
:
'
goodsManage
'
,
icon
:
'
smile
'
,
icon
:
'
smile
'
,
...
@@ -165,18 +180,21 @@ export default {
...
@@ -165,18 +180,21 @@ export default {
component
:
'
./distributionArea
'
,
component
:
'
./distributionArea
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/reconciliationQuery
'
,
path
:
'
/reconciliationQuery
'
,
name
:
'
reconciliationQuery
'
,
name
:
'
reconciliationQuery
'
,
icon
:
'
smile
'
,
icon
:
'
smile
'
,
component
:
'
./ReconciliationQuery
'
,
component
:
'
./ReconciliationQuery
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/settlementSheet
'
,
path
:
'
/settlementSheet
'
,
name
:
'
settlementSheet
'
,
name
:
'
settlementSheet
'
,
icon
:
'
smile
'
,
icon
:
'
smile
'
,
component
:
'
./SettlementSheet
'
,
component
:
'
./SettlementSheet
'
,
},
},
{
{
title
:
'
商户管理后台
'
,
path
:
'
/paymentMange
'
,
path
:
'
/paymentMange
'
,
name
:
'
paymentMange
'
,
name
:
'
paymentMange
'
,
icon
:
'
smile
'
,
icon
:
'
smile
'
,
...
...
package-lock.json
View file @
82c7b247
...
@@ -5,7 +5,6 @@
...
@@ -5,7 +5,6 @@
"requires": true,
"requires": true,
"packages": {
"packages": {
"": {
"": {
"name": "merchant-manage-ui",
"version": "1.0.0",
"version": "1.0.0",
"dependencies": {
"dependencies": {
"@ant-design/colors": "^3.1.0",
"@ant-design/colors": "^3.1.0",
src/pages/Admin/index.jsx
View file @
82c7b247
...
@@ -78,7 +78,7 @@ const Admin = () => {
...
@@ -78,7 +78,7 @@ const Admin = () => {
}
}
}
}
>
>
<
strong
>
{
pendingNum
?.
afterOrderPendingAuditNum
||
0
}
</
strong
>
<
strong
>
{
pendingNum
?.
afterOrderPendingAuditNum
||
0
}
</
strong
>
<
p
>
退款待审核
</
p
>
<
p
>
退款待审核
{
'
<
'
}
24小时
</
p
>
</
Link
>
</
Link
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
...
...
src/pages/AfterSaleManage/PassAudit/index.jsx
View file @
82c7b247
...
@@ -110,7 +110,7 @@ export default () => {
...
@@ -110,7 +110,7 @@ export default () => {
{
{
title
:
'
操作
'
,
title
:
'
操作
'
,
hideInSearch
:
true
,
hideInSearch
:
true
,
width
:
45
0
,
width
:
30
0
,
dataIndex
:
'
action
'
,
dataIndex
:
'
action
'
,
fixed
:
'
right
'
,
fixed
:
'
right
'
,
render
:
(
_
,
r
)
=>
[
render
:
(
_
,
r
)
=>
[
...
@@ -122,7 +122,7 @@ export default () => {
...
@@ -122,7 +122,7 @@ export default () => {
key=
"pop"
key=
"pop"
disabled=
{
!
r
.
showRefund
}
disabled=
{
!
r
.
showRefund
}
>
>
<
Button
key=
"link1"
className=
"mr10"
type=
"primary"
disabled=
{
!
r
.
showRefund
}
>
<
Button
key=
"link1"
className=
"mr10
mt10
"
type=
"primary"
disabled=
{
!
r
.
showRefund
}
>
{
r
.
showRefunded
?
'
已退款
'
:
'
允许退款
'
}
{
r
.
showRefunded
?
'
已退款
'
:
'
允许退款
'
}
</
Button
>
</
Button
>
</
Popconfirm
>,
</
Popconfirm
>,
...
@@ -130,19 +130,19 @@ export default () => {
...
@@ -130,19 +130,19 @@ export default () => {
key=
"link2"
key=
"link2"
onClick=
{
()
=>
reject
(
r
)
}
onClick=
{
()
=>
reject
(
r
)
}
type=
"primary"
type=
"primary"
className=
"mr10"
className=
"mr10
mt10
"
disabled=
{
!
r
.
showRefuse
}
disabled=
{
!
r
.
showRefuse
}
>
>
驳回
驳回
</
Button
>,
</
Button
>,
<
Button
key=
"link3"
onClick=
{
()
=>
viewDetail
(
r
)
}
type=
"primary"
className=
"mr10"
>
<
Button
key=
"link3"
onClick=
{
()
=>
viewDetail
(
r
)
}
type=
"primary"
className=
"mr10
mt10
"
>
订单详情
订单详情
</
Button
>,
</
Button
>,
<
Button
<
Button
key=
"link4"
key=
"link4"
onClick=
{
()
=>
handleCom
(
r
)
}
onClick=
{
()
=>
handleCom
(
r
)
}
type=
"primary"
type=
"primary"
className=
"mr10"
className=
"mr10
mt10
"
disabled=
{
!
r
.
showLogistics
}
disabled=
{
!
r
.
showLogistics
}
>
>
查看物流
查看物流
...
...
src/pages/AfterSaleManage/Pending/index.jsx
View file @
82c7b247
import
React
,
{
useState
,
useRef
}
from
'
react
'
;
import
React
,
{
useState
,
useRef
}
from
'
react
'
;
import
{
notification
,
Button
}
from
'
antd
'
;
import
{
notification
,
Button
,
Popconfirm
}
from
'
antd
'
;
import
ProTable
from
'
@ant-design/pro-table
'
;
import
ProTable
from
'
@ant-design/pro-table
'
;
import
moment
from
'
moment
'
;
import
_
from
'
lodash
'
;
import
{
searchList
,
auditInfoApi
,
orderDetail
}
from
'
../services
'
;
import
{
searchList
,
auditInfoApi
,
orderDetail
}
from
'
../services
'
;
import
{
columnSticData
,
appealType
}
from
'
../data
'
;
import
{
columnSticData
,
appealType
}
from
'
../data
'
;
import
AuditModal
from
'
../components/auditModal
'
;
import
AuditModal
from
'
../components/auditModal
'
;
...
@@ -19,7 +21,8 @@ export default () => {
...
@@ -19,7 +21,8 @@ export default () => {
const
[
auditInfo
,
setAuditInfo
]
=
useState
({});
const
[
auditInfo
,
setAuditInfo
]
=
useState
({});
const
[
appealDetailModal
,
setAppealDetailModal
]
=
useState
(
false
);
const
[
appealDetailModal
,
setAppealDetailModal
]
=
useState
(
false
);
const
[
selectedRow
,
setSelectedRow
]
=
useState
({});
const
[
selectedRow
,
setSelectedRow
]
=
useState
({});
const
[
timeString
,
setTimeString
]
=
useState
({});
const
[
time
,
setTime
]
=
useState
({});
const
viewDetail
=
async
({
serviceNo
})
=>
{
const
viewDetail
=
async
({
serviceNo
})
=>
{
const
data
=
await
orderDetail
({
serviceNo
});
const
data
=
await
orderDetail
({
serviceNo
});
setDetailInfo
(
data
||
[]);
setDetailInfo
(
data
||
[]);
...
@@ -53,12 +56,58 @@ export default () => {
...
@@ -53,12 +56,58 @@ export default () => {
setAppealDetailModal
(
true
);
setAppealDetailModal
(
true
);
setSelectedRow
(
detailData
);
setSelectedRow
(
detailData
);
};
};
const
renderContent
=
(
record
,
index
,
action
)
=>
{
if
(
!
time
[
record
.
serviceNo
])
{
const
serviceTime
=
moment
(
record
.
serviceTime
).
valueOf
()
+
24
*
3600
*
1000
;
const
nowTime
=
moment
(
record
.
nowTime
).
valueOf
();
let
timeNumber
=
(
serviceTime
-
nowTime
)
/
1000
;
time
[
record
.
serviceNo
]
=
setInterval
(()
=>
{
if
(
timeNumber
>
0
)
{
timeNumber
-=
1
;
// eslint-disable-next-line radix
const
hours
=
parseInt
((
timeNumber
/
3600
)
%
24
)
.
toString
()
.
padStart
(
2
,
'
0
'
);
// eslint-disable-next-line radix
const
minutes
=
parseInt
((
timeNumber
/
60
)
%
60
)
.
toString
()
.
padStart
(
2
,
'
0
'
);
// eslint-disable-next-line radix
const
seconds
=
parseInt
(
timeNumber
%
60
)
.
toString
()
.
padStart
(
2
,
'
0
'
);
const
str
=
`
${
hours
}
时
${
minutes
}
分
${
seconds
}
秒`
;
timeString
[
record
.
serviceNo
]
=
str
;
const
strings
=
_
.
cloneDeep
(
timeString
);
setTimeString
(
strings
);
}
else
{
clearInterval
(
time
[
record
.
serviceNo
]);
timeString
[
record
.
serviceNo
]
=
'
0时0分0秒
'
;
const
strings
=
_
.
cloneDeep
(
timeString
);
setTimeString
(
strings
);
}
},
1000
);
}
};
const
columns
=
[
const
columns
=
[
{
title
:
'
审核倒计时
'
,
dataIndex
:
'
serviceTime
'
,
key
:
'
serviceTime
'
,
hideInSearch
:
true
,
width
:
150
,
render
:
(
val
,
record
,
index
,
action
)
=>
[
<
span
style=
{
{
color
:
'
red
'
}
}
>
{
renderContent
(
record
,
index
,
action
)
}
{
timeString
[
record
.
serviceNo
]
}
</
span
>,
],
},
{
{
title
:
'
售后状态
'
,
title
:
'
售后状态
'
,
dataIndex
:
'
serviceStatus
'
,
dataIndex
:
'
serviceStatus
'
,
hideInSearch
:
true
,
hideInSearch
:
true
,
width
:
1
0
0
,
width
:
1
2
0
,
},
},
...
columnSticData
,
...
columnSticData
,
{
{
...
@@ -66,7 +115,7 @@ export default () => {
...
@@ -66,7 +115,7 @@ export default () => {
dataIndex
:
'
proofs
'
,
dataIndex
:
'
proofs
'
,
hideInSearch
:
true
,
hideInSearch
:
true
,
width
:
100
,
width
:
100
,
render
:
(
_
,
r
)
=>
<
a
onClick=
{
()
=>
viewProofs
(
r
.
proofs
)
}
>
查看凭证
</
a
>,
render
:
(
val
,
r
)
=>
<
a
onClick=
{
()
=>
viewProofs
(
r
.
proofs
)
}
>
查看凭证
</
a
>,
},
},
{
{
title
:
'
售后申诉
'
,
title
:
'
售后申诉
'
,
...
@@ -87,7 +136,7 @@ export default () => {
...
@@ -87,7 +136,7 @@ export default () => {
dataIndex
:
'
action
'
,
dataIndex
:
'
action
'
,
width
:
250
,
width
:
250
,
fixed
:
'
right
'
,
fixed
:
'
right
'
,
render
:
(
_
,
r
)
=>
[
render
:
(
val
,
r
)
=>
[
<
Button
key=
"link1"
onClick=
{
()
=>
openAudit
(
r
)
}
className=
"mr10"
type=
"primary"
>
<
Button
key=
"link1"
onClick=
{
()
=>
openAudit
(
r
)
}
className=
"mr10"
type=
"primary"
>
审核
审核
</
Button
>,
</
Button
>,
...
...
src/pages/AfterSaleManage/services.js
View file @
82c7b247
...
@@ -46,10 +46,7 @@ export async function orderDetail(params) {
...
@@ -46,10 +46,7 @@ export async function orderDetail(params) {
// 售后审核
// 售后审核
export
async
function
shopAudit
(
params
)
{
export
async
function
shopAudit
(
params
)
{
return
request
.
post
(
'
/api/kdsp/op/afs/shop/audit
'
,
{
return
request
.
post
(
'
/api/kdsp/op/afs/shop/audit
'
,
{
data
:
stringify
(
params
),
data
:
params
,
headers
:
{
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
},
prefix
:
kdspApi
,
prefix
:
kdspApi
,
});
});
}
}
...
...
src/pages/GoodsManage/SearchForm/index.jsx
View file @
82c7b247
import
{
Form
,
Button
,
Input
,
Select
,
notification
,
Upload
,
Cascader
,
InputNumber
}
from
'
antd
'
;
import
{
Form
,
Button
,
Input
,
Select
,
notification
,
Upload
,
Cascader
,
InputNumber
,
Popover
,
Divider
,
}
from
'
antd
'
;
import
React
,
{
Component
}
from
'
react
'
;
import
React
,
{
Component
}
from
'
react
'
;
import
{
connect
}
from
'
dva
'
;
import
{
connect
}
from
'
dva
'
;
import
styles
from
'
../style.less
'
;
import
styles
from
'
../style.less
'
;
...
@@ -44,8 +55,8 @@ class goodsManage extends Component {
...
@@ -44,8 +55,8 @@ class goodsManage extends Component {
this
.
props
.
addSpu
();
this
.
props
.
addSpu
();
};
};
setArea
=
isAll
=>
{
setArea
=
(
isAll
,
type
)
=>
{
this
.
props
.
setArea
(
isAll
);
this
.
props
.
setArea
(
isAll
,
type
);
};
};
render
()
{
render
()
{
...
@@ -53,6 +64,25 @@ class goodsManage extends Component {
...
@@ -53,6 +64,25 @@ class goodsManage extends Component {
const
selectW
=
{
width
:
250
};
const
selectW
=
{
width
:
250
};
const
iptNumWidth
=
{
width
:
118
};
const
iptNumWidth
=
{
width
:
118
};
const
that
=
this
;
const
that
=
this
;
const
content
=
(
<
div
>
<
Button
style=
{
{
border
:
'
none
'
}
}
onClick=
{
()
=>
this
.
setArea
(
1
,
'
distribution
'
)
}
>
全部商品配送区域设置
</
Button
>
<
br
/>
<
Button
style=
{
{
border
:
'
none
'
}
}
onClick=
{
()
=>
this
.
setArea
(
0
,
'
distribution
'
)
}
>
勾选商品配送区域设置
</
Button
>
<
br
/>
<
Button
style=
{
{
border
:
'
none
'
}
}
onClick=
{
()
=>
this
.
setArea
(
1
,
'
after
'
)
}
>
全部商品售后地址设置
</
Button
>
<
br
/>
<
Button
style=
{
{
border
:
'
none
'
}
}
onClick=
{
()
=>
this
.
setArea
(
0
,
'
after
'
)
}
>
勾选商品售后地址设置
</
Button
>
</
div
>
);
// const uploadProps = {
// const uploadProps = {
// name: 'file',
// name: 'file',
// async customRequest(info) {
// async customRequest(info) {
...
@@ -138,12 +168,11 @@ class goodsManage extends Component {
...
@@ -138,12 +168,11 @@ class goodsManage extends Component {
</
Button
>
</
Button
>
</
FormItem
>
</
FormItem
>
<
FormItem
style=
{
{
float
:
'
right
'
}
}
>
<
FormItem
style=
{
{
float
:
'
right
'
}
}
>
<
Button
type=
"primary"
className=
{
styles
.
button
}
onClick=
{
()
=>
this
.
setArea
(
1
)
}
>
<
Popover
content=
{
content
}
onVisibleChange=
{
this
.
handleVisibleChange
}
>
全部配送不支持配置区域
<
Button
type=
"primary"
className=
{
styles
.
button
}
>
</
Button
>
批量操作
<
Button
type=
"primary"
className=
{
styles
.
button
}
onClick=
{
()
=>
this
.
setArea
(
0
)
}
>
批量设置不支持配送区域
</
Button
>
</
Button
>
</
Popover
>
<
Button
type=
"primary"
className=
{
styles
.
button
}
onClick=
{
this
.
addSpu
}
>
<
Button
type=
"primary"
className=
{
styles
.
button
}
onClick=
{
this
.
addSpu
}
>
新增商品
新增商品
</
Button
>
</
Button
>
...
...
src/pages/GoodsManage/TempleatModal/index.jsx
View file @
82c7b247
...
@@ -3,7 +3,7 @@ import '@ant-design/compatible/assets/index.css';
...
@@ -3,7 +3,7 @@ import '@ant-design/compatible/assets/index.css';
import
{
Modal
,
Input
,
Select
,
Cascader
,
Tag
,
notification
}
from
'
antd
'
;
import
{
Modal
,
Input
,
Select
,
Cascader
,
Tag
,
notification
}
from
'
antd
'
;
import
{
da
}
from
'
date-fns/locale
'
;
import
{
da
}
from
'
date-fns/locale
'
;
import
React
,
{
useState
,
useEffect
}
from
'
react
'
;
import
React
,
{
useState
,
useEffect
}
from
'
react
'
;
import
{
getTemplate
}
from
'
../service
'
;
import
{
getTemplate
,
getAfterAddress
}
from
'
../service
'
;
const
{
Option
}
=
Select
;
const
{
Option
}
=
Select
;
...
@@ -14,19 +14,29 @@ const TempleatModal = props => {
...
@@ -14,19 +14,29 @@ const TempleatModal = props => {
selectedRowKeys
,
selectedRowKeys
,
templateList
,
templateList
,
isALL
,
isALL
,
isType
,
total
,
}
=
props
;
}
=
props
;
const
formItemLayout
=
{
const
formItemLayout
=
{
labelCol
:
{
labelCol
:
{
span
:
5
,
span
:
6
,
},
},
wrapperCol
:
{
wrapperCol
:
{
span
:
16
,
span
:
16
,
},
},
};
};
const
handleOk
=
async
()
=>
{
const
setAfterAddress
=
async
fieldsValue
=>
{
console
.
log
(
props
);
const
data
=
await
getAfterAddress
({
validateFields
(
async
(
error
,
fieldsValue
)
=>
{
skuIds
:
selectedRowKeys
||
[],
if
(
!
error
)
{
afterAddressId
:
fieldsValue
.
templateId
.
key
,
});
if
(
data
.
businessCode
===
'
0000
'
)
{
notification
.
success
({
message
:
'
配置成功!
'
});
resetFields
();
props
.
onCancel
();
}
};
const
setTemplate
=
async
fieldsValue
=>
{
const
data
=
await
getTemplate
({
const
data
=
await
getTemplate
({
isAll
:
isALL
,
isAll
:
isALL
,
skuIdList
:
selectedRowKeys
,
skuIdList
:
selectedRowKeys
,
...
@@ -37,31 +47,73 @@ const TempleatModal = props => {
...
@@ -37,31 +47,73 @@ const TempleatModal = props => {
resetFields
();
resetFields
();
props
.
onCancel
();
props
.
onCancel
();
}
}
};
const
handleOk
=
async
()
=>
{
validateFields
(
async
(
error
,
fieldsValue
)
=>
{
if
(
!
error
)
{
if
(
isType
===
'
after
'
)
{
setAfterAddress
(
fieldsValue
);
}
if
(
isType
===
'
distribution
'
)
{
setTemplate
(
fieldsValue
);
}
}
}
});
});
};
};
useEffect
(()
=>
{},
[]);
const
title
=
()
=>
{
if
(
isType
===
'
distribution
'
)
{
if
(
isALL
)
{
return
'
全部商品配送区域设置
'
;
}
return
'
勾选商品配送区域设置
'
;
}
if
(
isType
===
'
after
'
)
{
if
(
isALL
)
{
return
'
全部商品售后地址设置
'
;
}
return
'
勾选商品售后地址设置
'
;
}
return
''
;
};
return
(
return
(
<
Modal
<
Modal
title=
{
isALL
?
'
全部设置不支持配送区域
'
:
'
批量设置不支持配送区域
'
}
title=
{
title
()
}
visible=
{
visible
}
visible=
{
visible
}
width=
"500px"
width=
"500px"
onCancel=
{
props
.
onCancel
}
onCancel=
{
props
.
onCancel
}
onOk=
{
()
=>
handleOk
()
}
onOk=
{
()
=>
handleOk
()
}
>
>
{
!
isALL
&&
<
p
>
已选择
{
selectedRowKeys
.
length
}
个商品
</
p
>
}
{
!
isALL
&&
<
p
>
已选择
{
selectedRowKeys
.
length
}
个商品
</
p
>
}
{
isALL
>
0
&&
isType
===
'
after
'
&&
<
p
>
已选择
{
total
}
个商品
</
p
>
}
<
Form
{
...
formItemLayout
}
>
<
Form
{
...
formItemLayout
}
>
<
Form
.
Item
label=
"选择模板"
>
<
Form
.
Item
label=
{
isType
===
'
after
'
?
'
选择售后地址
'
:
'
选择模板
'
}
>
{
getFieldDecorator
(
'
templateId
'
,
{
{
getFieldDecorator
(
'
templateId
'
,
{
rules
:
[{
required
:
true
,
message
:
'
请选择模板!
'
}],
rules
:
[
{
required
:
true
,
message
:
`${isType === 'after' ? '请选择售后地址' : '请选择模板'}`
,
},
],
})(
})(
<
Select
placeholder=
"请选择模板"
labelInValue
allowClear
>
<
Select
{
templateList
.
map
(
item
=>
(
placeholder=
{
isType
===
'
after
'
?
'
选择售后地址
'
:
'
选择模板
'
}
labelInValue
allowClear
>
{
isType
===
'
distribution
'
&&
templateList
.
map
(
item
=>
(
<
Option
label=
{
item
.
templateName
}
value=
{
item
.
id
}
key=
{
item
.
id
}
>
<
Option
label=
{
item
.
templateName
}
value=
{
item
.
id
}
key=
{
item
.
id
}
>
{
item
.
templateName
}
{
item
.
templateName
}
</
Option
>
</
Option
>
))
}
))
}
{
isType
===
'
after
'
&&
templateList
.
map
(
item
=>
(
<
Option
label=
{
item
.
addressName
}
value=
{
item
.
id
}
key=
{
item
.
id
}
>
{
item
.
addressName
}
</
Option
>
))
}
</
Select
>,
</
Select
>,
)
}
)
}
</
Form
.
Item
>
</
Form
.
Item
>
...
...
src/pages/GoodsManage/createModal/index.jsx
View file @
82c7b247
...
@@ -30,7 +30,14 @@ import {
...
@@ -30,7 +30,14 @@ import {
validateSpuInfo
,
validateSpuInfo
,
createEditData
,
createEditData
,
}
from
'
./mixin
'
;
}
from
'
./mixin
'
;
import
{
getSpecList
,
getJdPicList
,
getBrandList
,
addGoods
,
editGoods
}
from
'
../service
'
;
import
{
getSpecList
,
getJdPicList
,
getBrandList
,
addGoods
,
editGoods
,
queryAllAfterAddress
,
}
from
'
../service
'
;
import
styles
from
'
../style.less
'
;
import
styles
from
'
../style.less
'
;
import
Upload
from
'
../../components/sortablUpload
'
;
import
Upload
from
'
../../components/sortablUpload
'
;
import
BatchSetting
from
'
./batchSetting
'
;
import
BatchSetting
from
'
./batchSetting
'
;
...
@@ -60,17 +67,27 @@ class goodsManage extends Component {
...
@@ -60,17 +67,27 @@ class goodsManage extends Component {
skuNameVisible
:
false
,
skuNameVisible
:
false
,
productType
:
1
,
productType
:
1
,
confirmLoading
:
false
,
confirmLoading
:
false
,
afterAddressList
:
{},
};
};
componentDidMount
()
{
componentDidMount
()
{
this
.
getSpecData
();
this
.
getSpecData
();
this
.
getBrandData
();
this
.
getBrandData
();
this
.
getAfterAddressData
();
}
}
componentWillReceiveProps
()
{
componentWillReceiveProps
()
{
this
.
setState
({
isCancel
:
false
});
this
.
setState
({
isCancel
:
false
});
}
}
// 获取售后地址
getAfterAddressData
=
async
()
=>
{
const
data
=
await
queryAllAfterAddress
();
if
(
data
)
{
this
.
setState
({
afterAddressList
:
data
.
data
.
records
});
}
};
// 获取规格列表
// 获取规格列表
getSpecData
=
async
()
=>
{
getSpecData
=
async
()
=>
{
try
{
try
{
...
@@ -119,7 +136,6 @@ class goodsManage extends Component {
...
@@ -119,7 +136,6 @@ class goodsManage extends Component {
i
.
imageList
=
colorImg
[
i
.
firstSpecValue
];
i
.
imageList
=
colorImg
[
i
.
firstSpecValue
];
return
i
;
return
i
;
});
});
console
.
log
(
editData
);
this
.
setState
(
this
.
setState
(
()
=>
({
colorImg
,
editData
}),
()
=>
({
colorImg
,
editData
}),
()
=>
{
()
=>
{
...
@@ -342,8 +358,12 @@ class goodsManage extends Component {
...
@@ -342,8 +358,12 @@ class goodsManage extends Component {
specListData
,
specListData
,
}
=
this
.
props
;
}
=
this
.
props
;
const
{
editData
,
productType
}
=
this
.
state
;
const
{
editData
,
productType
}
=
this
.
state
;
validateFields
(
async
(
errors
,
values
)
=>
{
validateFields
(
async
(
errors
,
values
)
=>
{
if
(
!
values
.
afterAddressId
)
{
notification
.
error
({
message
:
'
请选择售后地址
'
,
});
}
let
imgErr
=
false
;
let
imgErr
=
false
;
if
(
!
errors
)
{
if
(
!
errors
)
{
if
(
validateSpuInfo
(
values
,
initData
,
editData
,
productType
))
return
;
if
(
validateSpuInfo
(
values
,
initData
,
editData
,
productType
))
return
;
...
@@ -385,6 +405,7 @@ class goodsManage extends Component {
...
@@ -385,6 +405,7 @@ class goodsManage extends Component {
type
:
values
.
productType
,
type
:
values
.
productType
,
specs
,
specs
,
character
:
values
.
character
,
character
:
values
.
character
,
afterAddressId
:
values
.
afterAddressId
,
},
},
}));
}));
const
data
=
initData
.
id
const
data
=
initData
.
id
...
@@ -494,7 +515,14 @@ class goodsManage extends Component {
...
@@ -494,7 +515,14 @@ class goodsManage extends Component {
labelCol
:
{
span
:
2
},
labelCol
:
{
span
:
2
},
wrapperCol
:
{
span
:
22
},
wrapperCol
:
{
span
:
22
},
};
};
const
{
colorImg
,
productType
,
normalBrandList
,
brandList
,
confirmLoading
}
=
this
.
state
;
const
{
colorImg
,
productType
,
normalBrandList
,
brandList
,
confirmLoading
,
afterAddressList
,
}
=
this
.
state
;
const
skuSpeFirstKeys
=
initData
.
firstSpecList
||
[];
const
skuSpeFirstKeys
=
initData
.
firstSpecList
||
[];
const
skuSpeSecondKeys
=
initData
.
secondSpecList
||
[];
const
skuSpeSecondKeys
=
initData
.
secondSpecList
||
[];
const
treeDataArray
=
productType
===
2
?
virtualTreeData
:
treeData
;
const
treeDataArray
=
productType
===
2
?
virtualTreeData
:
treeData
;
...
@@ -658,6 +686,28 @@ class goodsManage extends Component {
...
@@ -658,6 +686,28 @@ class goodsManage extends Component {
)
}
)
}
</
FormItem
>
</
FormItem
>
</
Col
>
</
Col
>
<
Col
span=
{
10
}
>
<
FormItem
label=
"售后地址"
{
...
formItemLayout
}
>
{
getFieldDecorator
(
'
afterAddressId
'
,
{
initialValue
:
this
.
state
.
initForm
.
afterAddressId
,
rules
:
[
{
required
:
true
,
message
:
'
请选择售后地址
'
,
},
],
})(
<
Select
allowClear
style=
{
{
width
:
280
}
}
placeholder=
"请选择售后地址"
>
{
afterAddressList
?.
length
&&
afterAddressList
.
map
(
item
=>
(
<
Option
key=
{
item
.
id
}
value=
{
item
.
id
}
>
{
item
.
addressName
}
</
Option
>
))
}
</
Select
>,
)
}
</
FormItem
>
</
Col
>
{
specListData
.
length
{
specListData
.
length
?
specListData
.
map
((
item
,
index
)
=>
(
?
specListData
.
map
((
item
,
index
)
=>
(
<
Col
span=
{
24
}
>
<
Col
span=
{
24
}
>
...
...
src/pages/GoodsManage/index.jsx
View file @
82c7b247
...
@@ -11,7 +11,14 @@ import LocalStroage from '@/utils/localStorage';
...
@@ -11,7 +11,14 @@ import LocalStroage from '@/utils/localStorage';
import
configApi
from
'
../../../config/env.config
'
;
import
configApi
from
'
../../../config/env.config
'
;
import
UpdateStock
from
'
./UpdateStock
'
;
import
UpdateStock
from
'
./UpdateStock
'
;
import
{
spuDetail
,
categoryList
,
getVirtualCategory
,
getTemplateList
,
specList
}
from
'
./service
'
;
import
{
spuDetail
,
categoryList
,
getVirtualCategory
,
getTemplateList
,
specList
,
queryAllAfterAddress
,
}
from
'
./service
'
;
import
LogModal
from
'
./LogModal
'
;
import
LogModal
from
'
./LogModal
'
;
import
CreateModal
from
'
./createModal
'
;
import
CreateModal
from
'
./createModal
'
;
import
{
column
,
JDSHOPID
}
from
'
./staticdata
'
;
import
{
column
,
JDSHOPID
}
from
'
./staticdata
'
;
...
@@ -40,6 +47,7 @@ class goodsManage extends Component {
...
@@ -40,6 +47,7 @@ class goodsManage extends Component {
selectedRowKeys
:
[],
selectedRowKeys
:
[],
isAll
:
0
,
isAll
:
0
,
templateList
:
[],
templateList
:
[],
isType
:
''
,
};
};
currentLog
=
null
;
currentLog
=
null
;
...
@@ -187,20 +195,23 @@ class goodsManage extends Component {
...
@@ -187,20 +195,23 @@ class goodsManage extends Component {
});
});
};
};
setArea
=
async
isAll
=>
{
setArea
=
async
(
isAll
,
type
)
=>
{
// distribution配送区域 after售后地址
if
(
!
this
.
state
.
selectedRowKeys
.
length
&&
!
isAll
)
{
if
(
!
this
.
state
.
selectedRowKeys
.
length
&&
!
isAll
)
{
notification
.
error
({
message
:
'
请选择商品
'
});
notification
.
error
({
message
:
'
请选择商品
'
});
return
;
return
;
}
}
const
data
=
await
getTemplateList
();
const
data
=
type
===
'
distribution
'
?
await
getTemplateList
()
:
await
queryAllAfterAddress
();
if
(
data
.
code
===
'
0000
'
&&
data
.
data
.
length
)
{
const
length
=
type
===
'
distribution
'
?
data
.
data
.
length
:
data
.
data
.
records
.
length
;
if
(
data
.
code
===
'
0000
'
&&
length
)
{
this
.
setState
({
this
.
setState
({
templeatModalVisible
:
true
,
templeatModalVisible
:
true
,
isAll
,
isAll
,
templateList
:
data
.
data
,
templateList
:
type
===
'
distribution
'
?
data
.
data
:
data
.
data
.
records
,
isType
:
type
,
});
});
}
else
{
}
else
{
notification
.
error
({
message
:
'
暂无
模板数据,请先添加模板
'
});
notification
.
error
({
message
:
'
暂无
数据
'
});
}
}
};
};
...
@@ -283,7 +294,6 @@ class goodsManage extends Component {
...
@@ -283,7 +294,6 @@ class goodsManage extends Component {
const
{
const
{
goodsManage
:
{
tableData
=
{}
},
goodsManage
:
{
tableData
=
{}
},
}
=
this
.
props
;
}
=
this
.
props
;
const
rowSelection
=
{
const
rowSelection
=
{
selectedRowKeys
:
this
.
state
.
selectedRowKeys
,
selectedRowKeys
:
this
.
state
.
selectedRowKeys
,
onChange
:
this
.
onSelectChange
,
onChange
:
this
.
onSelectChange
,
...
@@ -303,7 +313,7 @@ class goodsManage extends Component {
...
@@ -303,7 +313,7 @@ class goodsManage extends Component {
treeData=
{
this
.
state
.
treeData
}
treeData=
{
this
.
state
.
treeData
}
shopList=
{
this
.
shopList
}
shopList=
{
this
.
shopList
}
addSpu=
{
()
=>
this
.
setState
({
createVisible
:
true
,
initData
:
{}
})
}
addSpu=
{
()
=>
this
.
setState
({
createVisible
:
true
,
initData
:
{}
})
}
setArea=
{
isALL
=>
this
.
setArea
(
isALL
)
}
setArea=
{
(
isALL
,
type
)
=>
this
.
setArea
(
isALL
,
type
)
}
/>
/>
</
Card
>
</
Card
>
<
Spin
spinning=
{
this
.
state
.
loading
}
>
<
Spin
spinning=
{
this
.
state
.
loading
}
>
...
@@ -379,11 +389,13 @@ class goodsManage extends Component {
...
@@ -379,11 +389,13 @@ class goodsManage extends Component {
<
TempleatModal
<
TempleatModal
visible=
{
this
.
state
.
templeatModalVisible
}
visible=
{
this
.
state
.
templeatModalVisible
}
selectedRowKeys=
{
this
.
state
.
selectedRowKeys
}
selectedRowKeys=
{
this
.
state
.
selectedRowKeys
}
total=
{
tableData
.
total
||
0
}
onCancel=
{
()
=>
{
onCancel=
{
()
=>
{
this
.
setState
({
templeatModalVisible
:
false
,
selectedRowKeys
:
[]
});
this
.
setState
({
templeatModalVisible
:
false
,
selectedRowKeys
:
[]
});
this
.
handleSearch
();
this
.
handleSearch
();
}
}
}
}
isALL=
{
this
.
state
.
isAll
}
isALL=
{
this
.
state
.
isAll
}
isType=
{
this
.
state
.
isType
}
templateList=
{
this
.
state
.
templateList
}
templateList=
{
this
.
state
.
templateList
}
/>
/>
</
Spin
>
</
Spin
>
...
...
src/pages/GoodsManage/service.js
View file @
82c7b247
...
@@ -4,7 +4,7 @@ import config from '../../../config/env.config';
...
@@ -4,7 +4,7 @@ import config from '../../../config/env.config';
import
{
stringify
}
from
'
qs
'
;
import
{
stringify
}
from
'
qs
'
;
import
_
from
'
lodash
'
;
import
_
from
'
lodash
'
;
const
{
goodsApi
}
=
config
;
const
{
goodsApi
,
kdspApi
}
=
config
;
const
headers
=
{
const
headers
=
{
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
};
};
...
@@ -173,3 +173,27 @@ export async function getTemplateList(params) {
...
@@ -173,3 +173,27 @@ export async function getTemplateList(params) {
});
});
return
data
;
return
data
;
}
}
// 查询供应商售后地址
export
async
function
queryAllAfterAddress
()
{
const
params
=
{
pageSize
:
100
,
pageNo
:
1
,
};
const
data
=
request
.
post
(
'
/api/kdsp/supplier/after-sales-addrs-page
'
,
{
prefix
:
kdspApi
,
data
:
stringify
(
_
.
omitBy
(
params
,
v
=>
!
v
)),
headers
:
{
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
},
});
return
data
;
}
// 商品售后地址设置
export
async
function
getAfterAddress
(
params
)
{
const
data
=
await
request
.
post
(
'
/api/kdsp/updateSkuAfterAddress
'
,
{
data
:
params
,
prefix
:
goodsApi
,
});
return
data
;
}
src/pages/PaymentMange/ToExamine/upload.jsx
View file @
82c7b247
import
{
Upload
,
Icon
,
Modal
,
message
,
Button
}
from
'
antd
'
;
import
{
Upload
,
Icon
,
Modal
,
message
,
Button
,
notification
}
from
'
antd
'
;
import
React
,
{
useState
,
useEffect
}
from
'
react
'
;
import
React
,
{
useState
,
useEffect
}
from
'
react
'
;
import
config
from
'
../../../../config/env.config
'
;
import
config
from
'
../../../../config/env.config
'
;
import
styles
from
'
../style.less
'
;
import
styles
from
'
../style.less
'
;
...
@@ -57,12 +57,19 @@ class PicturesWall extends React.Component {
...
@@ -57,12 +57,19 @@ class PicturesWall extends React.Component {
}
}
const
vm
=
this
;
const
vm
=
this
;
const
name
=
file
.
name
+
file
.
uid
;
const
name
=
file
.
name
+
file
.
uid
;
const
observable
=
qiniu
.
upload
(
file
,
file
.
name
,
token
);
// eslint-disable-next-line new-cap
const
data
=
file
.
name
+
new
Date
().
getTime
();
const
observable
=
qiniu
.
upload
(
file
,
data
,
token
);
const
observer
=
{
const
observer
=
{
next
()
{
next
()
{
// ...
// ...
},
},
error
()
{
error
(
t
)
{
if
(
t
.
code
===
614
)
{
notification
.
error
({
message
:
'
文件名重复,请更换文件名。
'
,
});
}
onError
(
file
);
onError
(
file
);
// ...
// ...
},
},
...
...
src/pages/afterSaleAddress/form.jsx
View file @
82c7b247
...
@@ -169,6 +169,17 @@ const AddressForm = props => {
...
@@ -169,6 +169,17 @@ const AddressForm = props => {
onOk=
{
handleSubmit
}
onOk=
{
handleSubmit
}
>
>
<
Form
{
...
layout
}
name=
"formData"
>
<
Form
{
...
layout
}
name=
"formData"
>
<
FormItem
label=
"售后地址名称"
>
{
getFieldDecorator
(
'
addressName
'
,
{
initialValue
:
formData
.
addressName
,
rules
:
[
{
required
:
true
,
message
:
'
请输入售后地址名称!
'
,
},
],
})(<
Input
placeholder=
"请输入售后地址名称"
maxLength=
{
20
}
/>)
}
</
FormItem
>
<
FormItem
label=
"供应商名称"
>
<
FormItem
label=
"供应商名称"
>
{
getFieldDecorator
(
'
shopId
'
,
{
{
getFieldDecorator
(
'
shopId
'
,
{
initialValue
:
formData
.
shopId
,
initialValue
:
formData
.
shopId
,
...
...
src/pages/afterSaleAddress/index.jsx
View file @
82c7b247
...
@@ -33,10 +33,12 @@ const TableList = () => {
...
@@ -33,10 +33,12 @@ const TableList = () => {
actionRef
.
current
.
reload
();
actionRef
.
current
.
reload
();
};
};
const
delAction
=
async
({
id
})
=>
{
const
delAction
=
async
({
id
})
=>
{
const
businessCode
=
await
del
(
id
);
const
data
=
await
del
(
id
);
if
(
businessCode
===
'
0000
'
)
{
if
(
data
.
businessCode
===
'
0000
'
)
{
reload
();
reload
();
notification
.
success
({
message
:
'
删除成功!
'
});
notification
.
success
({
message
:
'
删除成功!
'
});
}
else
{
notification
.
error
({
message
:
data
.
msg
||
'
删除失败
'
});
}
}
};
};
const
editAction
=
async
row
=>
{
const
editAction
=
async
row
=>
{
...
@@ -54,6 +56,12 @@ const TableList = () => {
...
@@ -54,6 +56,12 @@ const TableList = () => {
}
}
};
};
const
columns
=
[
const
columns
=
[
{
title
:
'
售后地址名称
'
,
dataIndex
:
'
addressName
'
,
key
:
'
addressName
'
,
hideInSearch
:
true
,
},
{
{
title
:
'
供应商名称
'
,
title
:
'
供应商名称
'
,
dataIndex
:
'
shopId
'
,
dataIndex
:
'
shopId
'
,
...
...
src/pages/afterSaleAddress/services.js
View file @
82c7b247
...
@@ -42,14 +42,14 @@ export async function supplier() {
...
@@ -42,14 +42,14 @@ export async function supplier() {
}
}
export
async
function
del
(
id
)
{
export
async
function
del
(
id
)
{
const
{
businessCode
}
=
await
request
.
post
(
'
/api/kdsp/supplier/after-sales-addrs-delete
'
,
{
const
data
=
await
request
.
post
(
'
/api/kdsp/supplier/after-sales-addrs-delete
'
,
{
prefix
:
config
.
kdspApi
,
prefix
:
config
.
kdspApi
,
data
:
stringify
({
id
}),
data
:
stringify
({
id
}),
headers
:
{
headers
:
{
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
'
Content-Type
'
:
'
application/x-www-form-urlencoded
'
,
},
},
});
});
return
businessCode
;
return
data
;
}
}
export
async
function
update
(
params
)
{
export
async
function
update
(
params
)
{
...
...
src/pages/cancelBillManage/Pending.jsx
View file @
82c7b247
...
@@ -5,12 +5,12 @@ import { Button, notification } from 'antd';
...
@@ -5,12 +5,12 @@ import { Button, notification } from 'antd';
import
ProTable
from
'
@ant-design/pro-table
'
;
import
ProTable
from
'
@ant-design/pro-table
'
;
import
_
from
'
lodash
'
;
import
_
from
'
lodash
'
;
// import { searchList, auditInfoApi, orderDetail } from './service';
// import { searchList, auditInfoApi, orderDetail } from './service';
import
moment
from
'
moment
'
;
import
{
searchList
,
orderDetail
}
from
'
./service
'
;
import
{
searchList
,
orderDetail
}
from
'
./service
'
;
import
{
column
}
from
'
./data
'
;
import
{
column
}
from
'
./data
'
;
import
AuditModal
from
'
./components/auditModal
'
;
import
AuditModal
from
'
./components/auditModal
'
;
import
DetailTable
from
'
./components/detailTable
'
;
import
DetailTable
from
'
./components/detailTable
'
;
import
{
dateDiff
}
from
'
./common
'
;
import
{
dateDiff
}
from
'
./common
'
;
import
moment
from
'
moment
'
;
export
default
()
=>
{
export
default
()
=>
{
const
table
=
useRef
();
const
table
=
useRef
();
...
@@ -104,6 +104,8 @@ export default () => {
...
@@ -104,6 +104,8 @@ export default () => {
timeString
[
record
.
orderId
]
=
'
0时0分0秒
'
;
timeString
[
record
.
orderId
]
=
'
0时0分0秒
'
;
const
strings
=
_
.
cloneDeep
(
timeString
);
const
strings
=
_
.
cloneDeep
(
timeString
);
setTimeString
(
strings
);
setTimeString
(
strings
);
// eslint-disable-next-line no-unused-expressions
table
.
current
?.
reload
?.();
}
}
},
1000
);
},
1000
);
}
}
...
...
src/pages/components/sortablUpload/index.jsx
View file @
82c7b247
...
@@ -48,7 +48,6 @@ const ImageInfo = file =>
...
@@ -48,7 +48,6 @@ const ImageInfo = file =>
file
.
width
=
width
;
file
.
width
=
width
;
file
.
height
=
height
;
file
.
height
=
height
;
file
.
LtMB
=
LtMB
;
file
.
LtMB
=
LtMB
;
console
.
log
(
file
);
resolve
(
file
);
resolve
(
file
);
});
});
image
.
addEventListener
(
'
error
'
,
()
=>
{
image
.
addEventListener
(
'
error
'
,
()
=>
{
...
...
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