Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_admin
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_admin
Commits
87ddc663
Commit
87ddc663
authored
May 23, 2024
by
gaia
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/feature/20240301_1544_sale' into release_pre_20240523160255
parents
540614a4
4abc15c0
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1721 additions
and
202 deletions
+1721
-202
src/api/business/dashboard.js
src/api/business/dashboard.js
+7
-0
src/api/business/order.js
src/api/business/order.js
+45
-0
src/router/index.js
src/router/index.js
+13
-1
src/views/dashboard/index.vue
src/views/dashboard/index.vue
+195
-95
src/views/dashboard/old.vue
src/views/dashboard/old.vue
+180
-0
src/views/order/components/NoPassIdentifyDialog.vue
src/views/order/components/NoPassIdentifyDialog.vue
+107
-0
src/views/order/components/ReturnLogisticIdentifyDialog.vue
src/views/order/components/ReturnLogisticIdentifyDialog.vue
+176
-0
src/views/order/itemOrderList.vue
src/views/order/itemOrderList.vue
+17
-106
src/views/order/saleOrderView.vue
src/views/order/saleOrderView.vue
+240
-0
src/views/order/transferOrderDetail.vue
src/views/order/transferOrderDetail.vue
+328
-0
src/views/order/transferOrderView.vue
src/views/order/transferOrderView.vue
+413
-0
No files found.
src/api/business/dashboard.js
View file @
87ddc663
...
@@ -15,3 +15,10 @@ export function chart(query) {
...
@@ -15,3 +15,10 @@ export function chart(query) {
params
:
query
params
:
query
})
})
}
}
export
function
requestDataPanel
(
data
)
{
return
request
({
url
:
'
/dashboard/dataPanel
'
,
method
:
'
post
'
,
data
})
}
src/api/business/order.js
View file @
87ddc663
...
@@ -22,3 +22,48 @@ export function requestDelivery(data) {
...
@@ -22,3 +22,48 @@ export function requestDelivery(data) {
})
})
}
}
export
function
requestTransferOrderList
(
data
)
{
return
request
({
url
:
'
/identifyOrder/findList
'
,
method
:
'
post
'
,
data
})
}
export
function
requestSigned
(
data
)
{
return
request
({
url
:
'
/identifyOrder/signed
'
,
method
:
'
post
'
,
data
})
}
export
function
requestIdentify
(
data
)
{
return
request
({
url
:
'
/identifyOrder/identify
'
,
method
:
'
post
'
,
data
})
}
export
function
requestIdentifyDelivery
(
data
)
{
return
request
({
url
:
'
/identifyOrder/delivery
'
,
method
:
'
post
'
,
data
})
}
export
function
requestIdentifySendBack
(
data
)
{
return
request
({
url
:
'
/identifyOrder/sendBack
'
,
method
:
'
post
'
,
data
})
}
export
function
requestTransferDetail
(
data
)
{
return
request
({
url
:
'
/identifyOrder/findDetail
'
,
method
:
'
post
'
,
data
})
}
src/router/index.js
View file @
87ddc663
...
@@ -514,7 +514,7 @@ export const asyncRouterMap = [
...
@@ -514,7 +514,7 @@ export const asyncRouterMap = [
},
},
children
:
[
children
:
[
{
{
path
:
'
sale
List
'
,
path
:
'
itemOrder
List
'
,
component
:
()
=>
import
(
'
@/views/order/itemOrderList
'
),
component
:
()
=>
import
(
'
@/views/order/itemOrderList
'
),
name
:
'
itemOrderList
'
,
name
:
'
itemOrderList
'
,
meta
:
{
meta
:
{
...
@@ -535,6 +535,18 @@ export const asyncRouterMap = [
...
@@ -535,6 +535,18 @@ export const asyncRouterMap = [
noCache
:
true
,
noCache
:
true
,
keepAlive
:
true
keepAlive
:
true
}
}
},
{
path
:
'
transferOrderDetail
'
,
component
:
()
=>
import
(
'
@/views/order/transferOrderDetail
'
),
name
:
'
transferOrderDetail
'
,
meta
:
{
perms
:
[],
title
:
'
订单详情
'
,
icon
:
'
list
'
,
noCache
:
true
,
keepAlive
:
true
},
hidden
:
true
}
}
]
]
},
},
...
...
src/views/dashboard/index.vue
View file @
87ddc663
<
template
>
<
template
>
<div
class=
"dashboard-editor-container"
>
<div
class=
"dashboard-editor-container"
>
<div>
<el-button
:type=
"type === 1 ? 'success' :''"
@
click=
"() =>
{handleSelectType(1)}">昨日
</el-button>
<el-button
:type=
"type === 2 ? 'success' :''"
@
click=
"() =>
{handleSelectType(2)}">本周
</el-button>
<el-button
:type=
"type === 3 ? 'success' :''"
@
click=
"() =>
{handleSelectType(3)}">本月
</el-button>
<el-button
:type=
"type === 4 ? 'success' :''"
@
click=
"() =>
{handleSelectType(4)}">上周
</el-button>
<el-button
:type=
"type === 5 ? 'success' :''"
@
click=
"() =>
{handleSelectType(5)}">上月
</el-button>
</div>
<el-row
:gutter=
"40"
class=
"panel-group"
>
<el-row
:gutter=
"40"
class=
"panel-group"
>
<el-col
:xs=
"12"
:sm=
"12"
:lg=
"6"
class=
"card-panel-col"
>
<el-col
:xs=
"12"
:sm=
"12"
:lg=
"6"
class=
"card-panel-col"
>
<div
class=
"card-panel"
@
click=
"handleSetLineChartData('newVisitis')"
>
<div
class=
"card-panel"
>
<div
class=
"card-panel-icon-wrapper icon-people"
>
<div
class=
"card-panel-icon-wrapper icon-people"
>
<svg-icon
icon-class=
"peoples"
class-name=
"card-panel-icon"
/>
<svg-icon
icon-class=
"peoples"
class-name=
"card-panel-icon"
/>
</div>
</div>
<div
class=
"card-panel-description"
>
<div
class=
"card-panel-description"
>
<div
class=
"card-panel-text"
>
用户数量
</div>
<div
class=
"card-panel-text"
>
访问用户数
</div>
<count-to
:start-val=
"0"
:end-val=
"
userTotal"
:duration=
"26
00"
class=
"card-panel-num"
/>
<count-to
:start-val=
"0"
:end-val=
"
Number(panelInfo.visitNum || 0)"
:duration=
"1
00"
class=
"card-panel-num"
/>
</div>
</div>
</div>
</div>
</el-col>
</el-col>
<el-col
:xs=
"12"
:sm=
"12"
:lg=
"6"
class=
"card-panel-col"
>
<el-col
:xs=
"12"
:sm=
"12"
:lg=
"6"
class=
"card-panel-col"
>
<div
class=
"card-panel"
@
click=
"handleSetLineChartData('messages')"
>
<div
class=
"card-panel"
>
<div
class=
"card-panel-icon-wrapper icon-shoppingCard"
>
<svg-icon
icon-class=
"chart"
class-name=
"card-panel-icon"
/>
</div>
<div
class=
"card-panel-description"
>
<div
class=
"card-panel-text"
>
打开次数
</div>
<count-to
:start-val=
"0"
:end-val=
"Number(panelInfo.openNum || 0)"
:duration=
"1000"
class=
"card-panel-num"
/>
</div>
</div>
</el-col>
<el-col
:xs=
"12"
:sm=
"12"
:lg=
"6"
class=
"card-panel-col"
>
<div
class=
"card-panel"
>
<div
class=
"card-panel-icon-wrapper icon-message"
>
<div
class=
"card-panel-icon-wrapper icon-message"
>
<svg-icon
icon-class=
"
message
"
class-name=
"card-panel-icon"
/>
<svg-icon
icon-class=
"
user
"
class-name=
"card-panel-icon"
/>
</div>
</div>
<div
class=
"card-panel-description"
>
<div
class=
"card-panel-description"
>
<div
class=
"card-panel-text"
>
藏品数量
</div>
<div
class=
"card-panel-text"
>
新增注册用户数
</div>
<count-to
:start-val=
"0"
:end-val=
"goodsTotal"
:duration=
"3000"
class=
"card-panel-num"
/>
<count-to
:start-val=
"0"
:end-val=
"Number(panelInfo.newUserNum || 0)"
:duration=
"1000"
class=
"card-panel-num"
/>
</div>
</div>
</el-col>
<el-col
:xs=
"12"
:sm=
"12"
:lg=
"6"
class=
"card-panel-col"
>
<div
class=
"card-panel"
>
<div
class=
"card-panel-icon-wrapper icon-money"
>
<svg-icon
icon-class=
"shopping"
class-name=
"card-panel-icon"
/>
</div>
<div
class=
"card-panel-description"
>
<div
class=
"card-panel-text"
>
新增藏品数
</div>
<count-to
:start-val=
"0"
:end-val=
"Number(panelInfo.newItemNum || 0)"
:duration=
"1000"
class=
"card-panel-num"
/>
</div>
</div>
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
<el-row
style=
"background:#fff;padding:16px 16px 0;margin-bottom:32px;"
>
<line-chart
:chart-data=
"userOrderCnt"
/>
</el-row>
<el-row
:gutter=
"32"
>
<el-row
:gutter=
"32"
>
<el-col
:xs=
"24"
:sm=
"24"
:lg=
"16"
>
<el-col
:xs=
"24"
:sm=
"24"
:lg=
"12"
>
<div
class=
"chart-wrapper"
>
<el-card
class=
"box-card"
>
<bar-chart
:chart-data=
"orderAmts"
/>
<h3
>
藏品信息
</h3>
</div>
<div
class=
"info_item"
>
<el-card
class=
"info_item_card"
>
<div
class=
"info_item_card-text"
>
访问用户数
</div>
<div
class=
"info_item_card-num"
>
<div
class=
"info_item_card-num_content"
>
{{
collectOrderData
.
totalAmount
}}
</div>
<!--
<count-to
:start-val=
"0"
:end-val=
"collectOrderData.totalAmount"
:duration=
"2600"
class=
"info_item_card-num_content"
/>
-->
</div>
</el-card>
<el-card
class=
"info_item_card"
>
<div
class=
"info_item_card-text"
>
订单数
</div>
<div
class=
"info_item_card-num"
>
<div
class=
"info_item_card-num_content"
>
{{
collectOrderData
.
totalOrderNum
}}
</div>
<!--
<count-to
:start-val=
"0"
:end-val=
"collectOrderData.totalOrderNum"
:duration=
"2600"
class=
"info_item_card-num_content"
/>
-->
</div>
</el-card>
<el-card
class=
"info_item_card"
>
<div
class=
"info_item_card-text"
>
平台利润
</div>
<div
class=
"info_item_card-num"
>
<div
class=
"info_item_card-num_content"
>
{{
collectOrderData
.
totalProfit
}}
</div>
<!--
<count-to
:start-val=
"0"
:end-val=
"collectOrderData.totalProfit"
:duration=
"2600"
class=
"info_item_card-num_content"
/>
-->
</div>
</el-card>
</div>
</el-card>
</el-col>
</el-col>
<el-col
:xs=
"24"
:sm=
"24"
:lg=
"8"
>
<el-col
:xs=
"24"
:sm=
"24"
:lg=
"12"
>
<div
class=
"chart-wrapper"
>
<el-card
class=
"box-card"
>
<pie-chart
:chart-data=
"categorySell"
/>
<h3
>
分销订单
</h3>
</div>
<div
class=
"info_item"
>
<el-card
class=
"info_item_card"
>
<div
class=
"info_item_card-text"
>
成交额
</div>
<div
class=
"info_item_card-num"
>
<div
class=
"info_item_card-num_content"
>
{{
distributionOrderData
.
totalAmount
}}
</div>
<!--
<count-to
:start-val=
"0"
:end-val=
"distributionOrderData.totalAmount"
:duration=
"2600"
class=
"info_item_card-num_content"
/>
-->
</div>
</el-card>
<el-card
class=
"info_item_card"
>
<div
class=
"info_item_card-text"
>
订单数
</div>
<div
class=
"info_item_card-num"
>
<!--
<count-to
:start-val=
"0"
:end-val=
""
:duration=
"2600"
class=
"info_item_card-num_content"
/>
-->
<div
class=
"info_item_card-num_content"
>
{{
distributionOrderData
.
totalOrderNum
}}
</div>
</div>
</el-card>
<el-card
class=
"info_item_card"
>
<div
class=
"info_item_card-text"
>
平台利润
</div>
<div
class=
"info_item_card-num"
>
<div
class=
"info_item_card-num_content"
>
{{
distributionOrderData
.
totalProfit
}}
</div>
<!--
<count-to
:start-val=
"0"
:end-val=
"distributionOrderData.totalProfit"
:duration=
"2600"
class=
"info_item_card-num_content"
/>
-->
</div>
</el-card>
</div>
</el-card>
</el-col>
</el-col>
</el-row>
</el-row>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
info
,
chart
}
from
'
@/api/business/dashboard
'
import
{
requestDataPanel
}
from
'
@/api/business/dashboard
'
import
CountTo
from
'
vue-count-to
'
import
CountTo
from
'
vue-count-to
'
import
LineChart
from
'
./LineChart
'
import
LineChart
from
'
./LineChart
'
import
PieChart
from
'
./PieChart
'
import
PieChart
from
'
./PieChart
'
...
@@ -61,33 +130,38 @@ export default {
...
@@ -61,33 +130,38 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
userTotal
:
0
,
panelInfo
:
{},
goodsTotal
:
0
,
collectOrderData
:
{},
productTotal
:
0
,
distributionOrderData
:
{},
orderTotal
:
0
,
type
:
1
userOrderCnt
:
{
dayData
:
[],
userCnt
:
[],
orderCnt
:
[]
},
orderAmts
:
{
dayData
:
[],
orderAmtData
:
[],
orderCntData
:
[]
},
categorySell
:
{
categoryNames
:
[],
categorySellData
:
[]
}
}
}
},
},
mounted
()
{
mounted
()
{
},
},
created
()
{
created
()
{
chart
().
then
(
response
=>
{
this
.
handleGetDetail
()
this
.
userOrderCnt
=
response
.
data
.
data
.
userOrderCnt
this
.
orderAmts
=
response
.
data
.
data
.
orderAmts
this
.
categorySell
=
response
.
data
.
data
.
categorySell
})
info
().
then
(
response
=>
{
this
.
userTotal
=
response
.
data
.
data
.
userTotal
this
.
goodsTotal
=
response
.
data
.
data
.
goodsTotal
this
.
productTotal
=
response
.
data
.
data
.
productTotal
this
.
orderTotal
=
response
.
data
.
data
.
orderTotal
})
},
},
methods
:
{
methods
:
{
handleSetLineChartData
(
type
)
{
handleSelectType
(
type
)
{
this
.
$emit
(
'
handleSetLineChartData
'
,
type
)
if
(
this
.
type
===
type
)
{
return
}
this
.
type
=
type
this
.
handleGetDetail
()
},
handleGetDetail
()
{
const
params
=
{
type
:
this
.
type
}
requestDataPanel
(
params
).
then
(
response
=>
{
console
.
log
(
'
===response=
'
,
response
)
this
.
panelInfo
=
response
.
data
.
data
||
{}
this
.
collectOrderData
=
response
.
data
.
data
.
collectOrderData
||
{}
this
.
distributionOrderData
=
response
.
data
.
data
.
distributionOrderData
||
{}
}).
catch
((
e
)
=>
{
console
.
log
(
'
===报错=
'
,
e
)
this
.
$message
.
error
(
e
.
data
&&
e
.
data
.
errmsg
||
'
请求失败, 请重试
'
)
})
}
}
}
}
}
}
...
@@ -97,6 +171,7 @@ export default {
...
@@ -97,6 +171,7 @@ export default {
.dashboard-editor-container
{
.dashboard-editor-container
{
padding
:
32px
;
padding
:
32px
;
background-color
:
rgb
(
240
,
242
,
245
);
background-color
:
rgb
(
240
,
242
,
245
);
height
:
100vh
;
.chart-wrapper
{
.chart-wrapper
{
background
:
#fff
;
background
:
#fff
;
padding
:
16px
16px
0
;
padding
:
16px
16px
0
;
...
@@ -110,69 +185,94 @@ export default {
...
@@ -110,69 +185,94 @@ export default {
.card-panel-col
{
.card-panel-col
{
margin-bottom
:
32px
;
margin-bottom
:
32px
;
}
}
.card-panel
{
}
height
:
108px
;
.card-panel
{
cursor
:
pointer
;
height
:
108px
;
font-size
:
12px
;
cursor
:
pointer
;
position
:
relative
;
font-size
:
12px
;
overflow
:
hidden
;
position
:
relative
;
color
:
#666
;
overflow
:
hidden
;
background
:
#fff
;
color
:
#666
;
box-shadow
:
4px
4px
40px
rgba
(
0
,
0
,
0
,
.05
);
background
:
#fff
;
border-color
:
rgba
(
0
,
0
,
0
,
.05
);
box-shadow
:
4px
4px
40px
rgba
(
0
,
0
,
0
,
.05
);
&
:hover
{
border-color
:
rgba
(
0
,
0
,
0
,
.05
);
.card-panel-icon-wrapper
{
&
:hover
{
color
:
#fff
;
.card-panel-icon-wrapper
{
}
color
:
#fff
;
.icon-people
{
background
:
#40c9c6
;
}
.icon-message
{
background
:
#36a3f7
;
}
.icon-money
{
background
:
#f4516c
;
}
.icon-shoppingCard
{
background
:
#34bfa3
}
}
}
.icon-people
{
.icon-people
{
color
:
#40c9c6
;
background
:
#40c9c6
;
}
}
.icon-message
{
.icon-message
{
color
:
#36a3f7
;
background
:
#36a3f7
;
}
}
.icon-money
{
.icon-money
{
color
:
#f4516c
;
background
:
#f4516c
;
}
}
.icon-shoppingCard
{
.icon-shoppingCard
{
color
:
#34bfa3
background
:
#34bfa3
}
}
.card-panel-icon-wrapper
{
}
float
:
left
;
.icon-people
{
margin
:
14px
0
0
14px
;
color
:
#40c9c6
;
padding
:
16px
;
}
transition
:
all
0
.38s
ease-out
;
.icon-message
{
border-radius
:
6px
;
color
:
#36a3f7
;
}
}
.card-panel-icon
{
.icon-money
{
float
:
left
;
color
:
#f4516c
;
font-size
:
48px
;
}
.icon-shoppingCard
{
color
:
#e5b12c
}
.card-panel-icon-wrapper
{
float
:
left
;
margin
:
14px
0
0
14px
;
padding
:
16px
;
transition
:
all
0
.38s
ease-out
;
border-radius
:
6px
;
}
.card-panel-icon
{
float
:
left
;
font-size
:
48px
;
}
.card-panel-description
{
float
:
right
;
font-weight
:
bold
;
margin
:
26px
;
margin-left
:
0px
;
}
}
.card-panel-text
{
line-height
:
18px
;
color
:
rgba
(
0
,
0
,
0
,
0
.45
);
font-size
:
16px
;
font-weight
:
600
;
}
.card-panel-num
{
font-size
:
24px
;
}
.info_item
{
display
:
flex
;
flex-direction
:
row
;
.info_item_card
{
flex
:
1
;
margin-right
:
10px
;
height
:
150px
;
.info_item_card-text
{
font-weight
:
600
;
}
}
.card-panel-description
{
.info_item_card-num
{
float
:
right
;
width
:
100%
;
font-weight
:
bold
;
flex
:
1
;
margin
:
26px
;
height
:
120px
;
margin-left
:
0px
;
align-items
:
center
;
.card-panel-text
{
display
:
flex
;
line-height
:
18px
;
justify-content
:
center
;
color
:
rgba
(
0
,
0
,
0
,
0
.45
);
align-content
:
center
;
font-size
:
16px
;
.info_item_card-num_content
{
margin-bottom
:
12px
;
font-size
:
34px
;
}
text-align
:
center
;
.card-panel-num
{
font-size
:
20px
;
}
}
}
}
}
}
...
...
src/views/dashboard/old.vue
0 → 100644
View file @
87ddc663
<
template
>
<div
class=
"dashboard-editor-container"
>
<el-row
:gutter=
"40"
class=
"panel-group"
>
<el-col
:xs=
"12"
:sm=
"12"
:lg=
"6"
class=
"card-panel-col"
>
<div
class=
"card-panel"
@
click=
"handleSetLineChartData('newVisitis')"
>
<div
class=
"card-panel-icon-wrapper icon-people"
>
<svg-icon
icon-class=
"peoples"
class-name=
"card-panel-icon"
/>
</div>
<div
class=
"card-panel-description"
>
<div
class=
"card-panel-text"
>
用户数量
</div>
<count-to
:start-val=
"0"
:end-val=
"userTotal"
:duration=
"2600"
class=
"card-panel-num"
/>
</div>
</div>
</el-col>
<el-col
:xs=
"12"
:sm=
"12"
:lg=
"6"
class=
"card-panel-col"
>
<div
class=
"card-panel"
@
click=
"handleSetLineChartData('messages')"
>
<div
class=
"card-panel-icon-wrapper icon-message"
>
<svg-icon
icon-class=
"message"
class-name=
"card-panel-icon"
/>
</div>
<div
class=
"card-panel-description"
>
<div
class=
"card-panel-text"
>
藏品数量
</div>
<count-to
:start-val=
"0"
:end-val=
"goodsTotal"
:duration=
"3000"
class=
"card-panel-num"
/>
</div>
</div>
</el-col>
</el-row>
<el-row
style=
"background:#fff;padding:16px 16px 0;margin-bottom:32px;"
>
<line-chart
:chart-data=
"userOrderCnt"
/>
</el-row>
<el-row
:gutter=
"32"
>
<el-col
:xs=
"24"
:sm=
"24"
:lg=
"16"
>
<div
class=
"chart-wrapper"
>
<bar-chart
:chart-data=
"orderAmts"
/>
</div>
</el-col>
<el-col
:xs=
"24"
:sm=
"24"
:lg=
"8"
>
<div
class=
"chart-wrapper"
>
<pie-chart
:chart-data=
"categorySell"
/>
</div>
</el-col>
</el-row>
</div>
</
template
>
<
script
>
import
{
info
,
chart
}
from
'
@/api/business/dashboard
'
import
CountTo
from
'
vue-count-to
'
import
LineChart
from
'
./LineChart
'
import
PieChart
from
'
./PieChart
'
import
BarChart
from
'
./BarChart
'
export
default
{
components
:
{
CountTo
,
LineChart
,
PieChart
,
BarChart
},
data
()
{
return
{
userTotal
:
0
,
goodsTotal
:
0
,
productTotal
:
0
,
orderTotal
:
0
,
userOrderCnt
:
{
dayData
:
[],
userCnt
:
[],
orderCnt
:
[]
},
orderAmts
:
{
dayData
:
[],
orderAmtData
:
[],
orderCntData
:
[]
},
categorySell
:
{
categoryNames
:
[],
categorySellData
:
[]
}
}
},
mounted
()
{
},
created
()
{
chart
().
then
(
response
=>
{
this
.
userOrderCnt
=
response
.
data
.
data
.
userOrderCnt
this
.
orderAmts
=
response
.
data
.
data
.
orderAmts
this
.
categorySell
=
response
.
data
.
data
.
categorySell
})
info
().
then
(
response
=>
{
this
.
userTotal
=
response
.
data
.
data
.
userTotal
this
.
goodsTotal
=
response
.
data
.
data
.
goodsTotal
this
.
productTotal
=
response
.
data
.
data
.
productTotal
this
.
orderTotal
=
response
.
data
.
data
.
orderTotal
})
},
methods
:
{
handleSetLineChartData
(
type
)
{
this
.
$emit
(
'
handleSetLineChartData
'
,
type
)
}
}
}
</
script
>
<
style
rel=
"stylesheet/scss"
lang=
"scss"
scoped
>
.dashboard-editor-container
{
padding
:
32px
;
background-color
:
rgb
(
240
,
242
,
245
);
.chart-wrapper
{
background
:
#fff
;
padding
:
16px
16px
0
;
margin-bottom
:
32px
;
}
}
.panel-group
{
margin-top
:
18px
;
.card-panel-col
{
margin-bottom
:
32px
;
}
.card-panel
{
height
:
108px
;
cursor
:
pointer
;
font-size
:
12px
;
position
:
relative
;
overflow
:
hidden
;
color
:
#666
;
background
:
#fff
;
box-shadow
:
4px
4px
40px
rgba
(
0
,
0
,
0
,
.05
);
border-color
:
rgba
(
0
,
0
,
0
,
.05
);
&
:hover
{
.card-panel-icon-wrapper
{
color
:
#fff
;
}
.icon-people
{
background
:
#40c9c6
;
}
.icon-message
{
background
:
#36a3f7
;
}
.icon-money
{
background
:
#f4516c
;
}
.icon-shoppingCard
{
background
:
#34bfa3
}
}
.icon-people
{
color
:
#40c9c6
;
}
.icon-message
{
color
:
#36a3f7
;
}
.icon-money
{
color
:
#f4516c
;
}
.icon-shoppingCard
{
color
:
#34bfa3
}
.card-panel-icon-wrapper
{
float
:
left
;
margin
:
14px
0
0
14px
;
padding
:
16px
;
transition
:
all
0
.38s
ease-out
;
border-radius
:
6px
;
}
.card-panel-icon
{
float
:
left
;
font-size
:
48px
;
}
.card-panel-description
{
float
:
right
;
font-weight
:
bold
;
margin
:
26px
;
margin-left
:
0px
;
.card-panel-text
{
line-height
:
18px
;
color
:
rgba
(
0
,
0
,
0
,
0
.45
);
font-size
:
16px
;
margin-bottom
:
12px
;
}
.card-panel-num
{
font-size
:
20px
;
}
}
}
}
</
style
>
src/views/order/components/NoPassIdentifyDialog.vue
0 → 100644
View file @
87ddc663
<
template
>
<el-dialog
v-if=
"showNoPassIdentifyDialogShow"
:visible.sync=
"showNoPassIdentifyDialogShow"
:before-close=
"handleCancelConsignDialog"
width=
"600px"
height=
"600px"
title=
"平台鉴定结果"
>
<el-form
ref=
"cancel"
:model=
"cancelForm"
:rules=
"cancelRules"
>
<el-form-item
label=
""
label-width=
"80px"
prop=
"content"
>
<div>
该藏品未通过平台鉴定,请描述原因:
</div>
</el-form-item>
<el-form-item
label=
""
label-width=
"80px"
prop=
"remark"
>
<el-input
v-model=
"cancelForm.remark"
:autosize=
"
{ minRows: 8, maxRows: 8}"
style="width: 400px"
maxlength="50"
type="textarea"
show-word-limit
placeholder="该藏品未通过平台鉴定,请描述原因:" />
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCancelConsignDialog"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleCancelValue"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
MessageBox
}
from
'
element-ui
'
import
{
requestIdentify
}
from
'
@/api/business/order
'
export
default
{
name
:
'
NoPassIdentifyDialog
'
,
props
:
{
showNoPassIdentifyDialogShow
:
{
type
:
Boolean
,
default
:
false
},
distributionOrderId
:
{
type
:
String
,
default
:
''
},
identifyOrderId
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{
cancelForm
:
{
remark
:
''
},
cancelRules
:
{
remark
:
[
{
required
:
true
,
message
:
'
原因不能为空
'
,
trigger
:
'
blur
'
}
]
}
}
},
methods
:
{
handleCancelConsignDialog
()
{
this
.
$emit
(
'
cancelDialog
'
)
},
/**
* 取消
*/
handleCancelValue
()
{
if
(
this
.
distributionOrderId
)
{
const
params
=
{
...
this
.
cancelForm
,
distributionOrderId
:
this
.
distributionOrderId
,
identifyOrderId
:
this
.
identifyOrderId
,
approved
:
0
}
this
.
$refs
.
cancel
.
validate
((
valid
)
=>
{
if
(
valid
)
{
requestIdentify
(
params
)
.
then
(
response
=>
{
this
.
$notify
.
success
({
message
:
'
操作成功
'
})
this
.
$emit
(
'
refreshItem
'
,
this
.
distributionOrderId
)
})
.
catch
(
response
=>
{
MessageBox
.
alert
(
'
业务错误:
'
+
response
.
data
.
errmsg
,
'
警告
'
,
{
confirmButtonText
:
'
确定
'
,
type
:
'
error
'
})
})
}
})
}
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.content
{
width
:
100%
;
text-align
:
center
;
}
.image
{
width
:
400px
;
height
:
auto
;
}
</
style
>
src/views/order/components/ReturnLogisticIdentifyDialog.vue
0 → 100644
View file @
87ddc663
<
template
>
<el-dialog
v-if=
"logisticDialogShow"
:visible.sync=
"logisticDialogShow"
:before-close=
"handleCancelLogisticDialog"
width=
"600px"
height=
"800px"
title=
"寄出快递"
>
<el-form
ref=
"imageValue"
:model=
"logisticForm"
:rules=
"logisticRules"
>
<el-form-item
label=
"物流公司"
label-width=
"100px"
prop=
"outLogisticsCode"
>
<el-select
v-model=
"logisticForm.outLogisticsCode"
placeholder=
"请选择物流公司"
style=
"width: 240px;margin-right: 10px;margin-bottom: 10px"
>
<el-option
v-for=
"item in logisticList"
:key=
"item.code"
:label=
"item.name"
:value=
"item.code"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"快递单号"
label-width=
"100px"
prop=
"outWaybill"
>
<el-input
v-model=
"logisticForm.outWaybill"
clearable
class=
"filter-item"
style=
"width: 240px;margin-right: 10px"
placeholder=
"请输入快递单号"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCancelLogisticDialog"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"handleLogistic"
>
确 定
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
MessageBox
}
from
'
element-ui
'
import
{
requestIdentifyDelivery
,
requestIdentifySendBack
,
requestLogisticsList
}
from
'
@/api/business/order
'
export
default
{
name
:
'
ReturnLogisticIdentifyDialog
'
,
props
:
{
logisticDialogShow
:
{
type
:
Boolean
,
default
:
false
},
distributionOrderId
:
{
type
:
String
,
default
:
''
},
identifyOrderId
:
{
type
:
String
,
default
:
''
},
type
:
{
type
:
Number
,
default
:
1
}
},
data
()
{
return
{
logisticForm
:
{
outLogisticsCode
:
''
,
outWaybill
:
''
},
logisticRules
:
{
outLogisticsCode
:
[
{
required
:
true
,
message
:
'
请选择物流公司
'
,
trigger
:
'
blur
'
}
],
outWaybill
:
[
{
required
:
true
,
message
:
'
请输入快递单号
'
,
trigger
:
'
blur
'
}
]
},
logisticList
:
[
{
'
code
'
:
'
JD
'
,
'
name
'
:
'
京东快递
'
},
{
'
code
'
:
'
SF
'
,
'
name
'
:
'
顺丰快递
'
},
{
'
code
'
:
'
STO
'
,
'
name
'
:
'
申通快递
'
},
{
'
code
'
:
'
YTO
'
,
'
name
'
:
'
圆通快递
'
},
{
'
code
'
:
'
ZTO
'
,
'
name
'
:
'
中通快递
'
},
{
'
code
'
:
'
YUNDA
'
,
'
name
'
:
'
韵达快递
'
}
]
}
},
created
()
{
this
.
getLogisticsList
()
},
methods
:
{
handleCancelLogisticDialog
()
{
this
.
$emit
(
'
cancelDialog
'
)
},
/**
* 获取物流公司列表
*/
getLogisticsList
()
{
requestLogisticsList
().
then
((
response
)
=>
{
console
.
log
(
'
==response===
'
,
response
)
this
.
logisticList
=
response
.
data
.
data
}).
catch
((
err
)
=>
{
console
.
log
(
'
==err===
'
,
err
)
})
},
/**
* 实物评估
*/
handleLogistic
()
{
const
params
=
{
...
this
.
logisticForm
,
distributionOrderId
:
this
.
distributionOrderId
,
identifyOrderId
:
this
.
identifyOrderId
}
this
.
$refs
.
imageValue
.
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
type
===
1
)
{
requestIdentifyDelivery
(
params
)
.
then
(
response
=>
{
this
.
itemContent
=
{}
this
.
logisticForm
=
{}
this
.
$notify
.
success
({
message
:
'
发货成功
'
})
this
.
$emit
(
'
refreshDelivery
'
)
})
.
catch
(
response
=>
{
MessageBox
.
alert
(
'
业务错误:
'
+
response
.
data
.
errmsg
,
'
警告
'
,
{
confirmButtonText
:
'
确定
'
,
type
:
'
error
'
})
})
}
else
{
requestIdentifySendBack
(
params
)
.
then
(
response
=>
{
this
.
itemContent
=
{}
this
.
logisticForm
=
{}
this
.
$notify
.
success
({
message
:
'
退回成功
'
})
this
.
$emit
(
'
refreshSendBack
'
)
})
.
catch
(
response
=>
{
MessageBox
.
alert
(
'
业务错误:
'
+
response
.
data
.
errmsg
,
'
警告
'
,
{
confirmButtonText
:
'
确定
'
,
type
:
'
error
'
})
})
}
}
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.content
{
width
:
100%
;
text-align
:
center
;
}
.image
{
width
:
400px
;
height
:
auto
;
}
</
style
>
src/views/order/itemOrderList.vue
View file @
87ddc663
<
template
>
<
template
>
<div
class=
"page_consignList"
>
<div
class=
"page_consignList"
>
<div
class=
"filter-container"
>
<el-menu
:default-active=
"activeIndex"
class=
"el-menu-demo"
mode=
"horizontal"
@
select=
"handleSelect"
>
<div
class=
"button_left"
>
<el-menu-item
index=
"1"
>
藏馆订单
</el-menu-item>
<el-input
<el-menu-item
index=
"2"
>
平台中转
</el-menu-item>
v-model=
"listQuery.distributionOrderId"
</el-menu>
clearable
<div
v-if=
"activeIndex === '1'"
>
class=
"filter-item"
<SaleOrderView
/>
style=
"width: 200px;"
</div>
placeholder=
"请输入订单编号"
/>
<div
v-else
>
<el-select
v-model=
"listQuery.state"
placeholder=
"请选择订单状态"
class=
"filter-item"
style=
"width: 200px;"
>
<TransferOrderView
/>
<el-option
v-for=
"item in options"
:key=
"item.label"
:label=
"item.label"
:value=
"item.value"
size=
"mini"
/>
</el-select>
<el-input
v-model=
"listQuery.itemName"
clearable
class=
"filter-item"
style=
"width: 200px;"
placeholder=
"请输入藏品名称"
/>
<el-input
v-model=
"listQuery.sellerName"
clearable
class=
"filter-item"
style=
"width: 200px;"
placeholder=
"请输入藏家名称"
/>
<el-button
class=
"filter-item"
type=
"primary"
icon=
"el-icon-search"
style=
"margin-left: 12px"
@
click=
"handleFilter"
>
查找
</el-button>
<el-button
class=
"filter-item"
@
click=
"resetSearchForm"
>
重置
</el-button>
</div>
</div>
</div>
<el-table
v-loading=
"listLoading"
:data=
"list"
size=
"small"
element-loading-text=
"正在查询中..."
border
fit
highlight-current-row
>
<!--
<el-table-column
align=
"center"
label=
"排行"
width=
"100px"
type=
"index"
/>
-->
<el-table-column
align=
"center"
min-width=
"100px"
prop=
"distributionOrderId"
label=
"订单编号"
/>
<el-table-column
align=
"center"
label=
"藏家名称"
min-width=
"150px"
prop=
"sellerName"
>
<template
slot-scope=
"scope"
>
<Line2Hidden
:text=
"scope.row.sellerName || ''"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"藏品图片"
prop=
"homePageImage"
>
<
template
slot-scope=
"scope"
>
<img
v-if=
"scope.row.homePageImage && scope.row.homePageImage.url"
:src=
"scope.row.homePageImage.url"
width=
"60px"
height=
"60px"
>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"藏品名称"
min-width=
"150px"
prop=
"itemName"
>
<
template
slot-scope=
"scope"
>
<Line2Hidden
:text=
"scope.row.itemName"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"数量"
prop=
"itemNum"
/>
<el-table-column
align=
"center"
label=
"订单金额"
prop=
"amount"
>
<
template
slot-scope=
"scope"
>
<span
class=
"tooltip-span"
>
{{
`¥ ${scope.row.amount
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
下单用户
"
prop
=
"
buyerName
"
/>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
下单时间
"
prop
=
"
createTime
"
/>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
收货信息
"
prop
=
"
receiverName
"
min
-
width
=
"
160px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
v
-
if
=
"
scope.row.receiverName
"
>
{{
scope
.
row
.
receiverName
+
'
,
'
+
scope
.
row
.
receiverPhone
+
'
,
'
+
scope
.
row
.
receiverAddress
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
介绍人
"
prop
=
"
introducerName
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
class
=
"
tooltip-span
"
>
{{
`${scope.row.introducerName || '-'
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
订单状态
"
prop
=
"
stateName
"
/>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
物流公司
"
prop
=
"
logisticsName
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
class
=
"
tooltip-span
"
>
{{
`${scope.row.logisticsName || '-'
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
快递单号
"
prop
=
"
waybill
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
class
=
"
tooltip-span
"
>
{{
`${scope.row.waybill || '-'
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
align
=
"
center
"
label
=
"
操作
"
width
=
"
300
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
button
:
disabled
=
"
(!scope.row.editAble && scope.row.type === 2)
"
type
=
"
primary
"
size
=
"
mini
"
@
click
=
"
handleToDetail(scope.row)
"
>
编辑
<
/el-button
>
<
el
-
button
:
disabled
=
"
(!scope.row.editAble && scope.row.type === 2)
"
type
=
"
danger
"
size
=
"
mini
"
@
click
=
"
handleDelete(scope.row)
"
>
删除
<
/el-button
>
<
/template
>
<
/el-table-column>--
>
<
/el-table
>
<
Pagination
v
-
show
=
"
total>0
"
:
total
=
"
total
"
:
page
.
sync
=
"
listQuery.page
"
:
limit
.
sync
=
"
listQuery.limit
"
@
pagination
=
"
getList
"
/>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
Line2Hidden
from
'
@/components/line2Hidden
'
import
Pagination
from
'
@/components/Pagination
'
import
{
requestOrderList
}
from
'
@/api/business/order
'
import
{
requestOrderList
}
from
'
@/api/business/order
'
import
SaleOrderView
from
'
./saleOrderView
'
import
TransferOrderView
from
'
./transferOrderView
'
export
default
{
export
default
{
name
:
'
ItemOrderList
'
,
name
:
'
ItemOrderList
'
,
components
:
{
components
:
{
Pagination
,
TransferOrderView
,
Line2Hidden
SaleOrderView
},
},
data
()
{
data
()
{
return
{
return
{
activeIndex
:
'
1
'
,
itemKey
:
0
,
itemKey
:
0
,
options
:
[{
options
:
[{
value
:
1
,
value
:
1
,
...
@@ -168,6 +76,9 @@ export default {
...
@@ -168,6 +76,9 @@ export default {
},
},
methods
:
{
methods
:
{
handleSelect
(
value
)
{
this
.
activeIndex
=
value
},
resetSearchForm
()
{
resetSearchForm
()
{
this
.
listQuery
=
{
this
.
listQuery
=
{
page
:
1
,
page
:
1
,
...
...
src/views/order/saleOrderView.vue
0 → 100644
View file @
87ddc663
<
template
>
<div
class=
"page_consignList"
>
<div
class=
"filter-container"
>
<div
class=
"button_left"
>
<el-input
v-model=
"listQuery.distributionOrderId"
clearable
class=
"filter-item"
style=
"width: 200px;"
placeholder=
"请输入订单编号"
/>
<el-select
v-model=
"listQuery.state"
placeholder=
"请选择订单状态"
class=
"filter-item"
style=
"width: 200px;"
>
<el-option
v-for=
"item in options"
:key=
"item.label"
:label=
"item.label"
:value=
"item.value"
size=
"mini"
/>
</el-select>
<el-input
v-model=
"listQuery.itemName"
clearable
class=
"filter-item"
style=
"width: 200px;"
placeholder=
"请输入藏品名称"
/>
<el-input
v-model=
"listQuery.sellerName"
clearable
class=
"filter-item"
style=
"width: 200px;"
placeholder=
"请输入藏家名称"
/>
<el-button
class=
"filter-item"
type=
"primary"
icon=
"el-icon-search"
style=
"margin-left: 12px"
@
click=
"handleFilter"
>
查找
</el-button>
<el-button
class=
"filter-item"
@
click=
"resetSearchForm"
>
重置
</el-button>
</div>
</div>
<el-table
v-loading=
"listLoading"
:data=
"list"
size=
"small"
element-loading-text=
"正在查询中..."
border
fit
highlight-current-row
>
<!--
<el-table-column
align=
"center"
label=
"排行"
width=
"100px"
type=
"index"
/>
-->
<el-table-column
align=
"center"
min-width=
"100px"
prop=
"distributionOrderId"
label=
"订单编号"
/>
<el-table-column
align=
"center"
label=
"藏家名称"
min-width=
"150px"
prop=
"sellerName"
>
<template
slot-scope=
"scope"
>
<Line2Hidden
:text=
"scope.row.sellerName || ''"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"藏家地址"
prop=
"receiverName"
min-width=
"160px"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.receiverName"
>
{{
scope
.
row
.
receiverName
+
'
,
'
+
scope
.
row
.
receiverPhone
+
'
,
'
+
scope
.
row
.
receiverAddress
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"藏品图片"
prop=
"homePageImage"
>
<
template
slot-scope=
"scope"
>
<img
v-if=
"scope.row.homePageImage && scope.row.homePageImage.url"
:src=
"scope.row.homePageImage.url"
width=
"60px"
height=
"60px"
>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"藏品名称"
min-width=
"150px"
prop=
"itemName"
>
<
template
slot-scope=
"scope"
>
<Line2Hidden
:text=
"scope.row.itemName"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"数量"
prop=
"itemNum"
/>
<el-table-column
align=
"center"
label=
"订单金额"
prop=
"amount"
>
<
template
slot-scope=
"scope"
>
<span
class=
"tooltip-span"
>
{{
`¥ ${scope.row.amount
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
下单用户
"
prop
=
"
buyerName
"
/>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
下单时间
"
prop
=
"
createTime
"
/>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
收货信息
"
prop
=
"
receiverName
"
min
-
width
=
"
160px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
v
-
if
=
"
scope.row.receiverName
"
>
{{
scope
.
row
.
receiverName
+
'
,
'
+
scope
.
row
.
receiverPhone
+
'
,
'
+
scope
.
row
.
receiverAddress
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
介绍人
"
prop
=
"
introducerName
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
class
=
"
tooltip-span
"
>
{{
`${scope.row.introducerName || '-'
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
订单状态
"
prop
=
"
stateName
"
/>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
中转状态
"
prop
=
"
transferStateName
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
class
=
"
tooltip-span
"
>
{{
`${scope.row.transferStateName || '-'
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
物流公司
"
prop
=
"
logisticsName
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
class
=
"
tooltip-span
"
>
{{
`${scope.row.logisticsName || '-'
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
快递单号
"
prop
=
"
waybill
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
class
=
"
tooltip-span
"
>
{{
`${scope.row.waybill || '-'
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
align
=
"
center
"
label
=
"
操作
"
width
=
"
300
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
button
:
disabled
=
"
(!scope.row.editAble && scope.row.type === 2)
"
type
=
"
primary
"
size
=
"
mini
"
@
click
=
"
handleToDetail(scope.row)
"
>
编辑
<
/el-button
>
<
el
-
button
:
disabled
=
"
(!scope.row.editAble && scope.row.type === 2)
"
type
=
"
danger
"
size
=
"
mini
"
@
click
=
"
handleDelete(scope.row)
"
>
删除
<
/el-button
>
<
/template
>
<
/el-table-column>--
>
<
/el-table
>
<
Pagination
v
-
show
=
"
total>0
"
:
total
=
"
total
"
:
page
.
sync
=
"
listQuery.page
"
:
limit
.
sync
=
"
listQuery.limit
"
@
pagination
=
"
getList
"
/>
<
/div
>
<
/template
>
<
script
>
import
Line2Hidden
from
'
@/components/line2Hidden
'
import
Pagination
from
'
@/components/Pagination
'
import
{
requestOrderList
}
from
'
@/api/business/order
'
export
default
{
name
:
'
SaleOrderView
'
,
components
:
{
Pagination
,
Line2Hidden
}
,
data
()
{
return
{
activeIndex
:
'
1
'
,
itemKey
:
0
,
options
:
[{
value
:
1
,
label
:
'
待付款
'
}
,
{
value
:
10
,
label
:
'
待发货
'
}
,
{
value
:
20
,
label
:
'
待收货
'
}
,
{
value
:
30
,
label
:
'
售后中
'
}
,
{
value
:
80
,
label
:
'
退款受理中
'
}
,
{
value
:
100
,
label
:
'
已完成
'
}
,
{
value
:
101
,
label
:
'
已取消
'
}
],
listLoading
:
true
,
listQuery
:
{
page
:
1
,
size
:
20
,
type
:
3
}
,
list
:
[],
total
:
0
,
// 图文估价
imageValueDialogShow
:
false
,
// 建议寄售价
identifyValueDialogShow
:
false
,
// 货品售出
finishDialogShow
:
false
,
// 寄售凭证
finishSettlementDialogShow
:
false
,
// 取消
cancelConsignDialogShow
:
false
,
currentSaleId
:
''
}
}
,
created
()
{
this
.
getList
()
}
,
methods
:
{
resetSearchForm
()
{
this
.
listQuery
=
{
page
:
1
,
limit
:
20
,
type
:
3
}
this
.
getList
()
}
,
handleFilter
()
{
this
.
listQuery
.
page
=
1
this
.
getList
()
}
,
handlerGetList
()
{
this
.
listQuery
.
page
=
1
this
.
getList
()
}
,
handleClick
(
tab
,
event
)
{
this
.
listQuery
.
page
=
1
this
.
getList
()
}
,
getList
()
{
localStorage
.
setItem
(
'
systemState
'
,
''
)
this
.
listLoading
=
true
requestOrderList
(
this
.
listQuery
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
data
.
dataList
this
.
total
=
response
.
data
.
data
.
total
this
.
listLoading
=
false
}
).
catch
((
e
)
=>
{
console
.
log
(
'
===报错=
'
,
e
)
this
.
list
=
[]
this
.
total
=
0
this
.
listLoading
=
false
}
)
}
}
}
<
/script
>
<
style
lang
=
"
scss
"
scoped
>
/deep/
.
el
-
switch
{
height
:
30
px
;
}
/deep/
.
cell
{
display
:
flex
;
justify
-
content
:
center
;
}
.
page_consignList
{
padding
:
20
px
;
.
filter
-
container
{
display
:
flex
;
flex
-
direction
:
row
;
justify
-
content
:
space
-
between
;
}
}
<
/style
>
src/views/order/transferOrderDetail.vue
0 → 100644
View file @
87ddc663
<
template
>
<div
class=
"page_transferDetail"
>
<div
v-if=
"itemContent && itemContent.distributionOrderId"
class=
"detail_button"
>
<el-button
v-if=
"(itemContent && itemContent.transferState === 12)"
type=
"primary"
size=
"mini"
@
click=
"handleReceive()"
>
确认收货
</el-button>
<el-button
v-if=
"(itemContent.transferState === 13)"
type=
"primary"
size=
"mini"
@
click=
"handlePass()"
>
通过
</el-button>
<el-button
v-if=
"(itemContent.transferState === 13)"
type=
"danger"
size=
"mini"
@
click=
"handleNoPass()"
>
不通过
</el-button>
<el-button
v-if=
"(itemContent.transferState === 14)"
type=
"primary"
size=
"mini"
@
click=
"handleSend(1)"
>
去发货
</el-button>
<el-button
v-if=
"(itemContent.transferState === 15)"
type=
"primary"
size=
"mini"
@
click=
"handleSend(2)"
>
退回藏品
</el-button>
</div>
<el-card
class=
"box-card"
style=
"margin: 0 16px"
>
<div
class=
"title"
>
<div
class=
"title_content"
>
订单信息
</div>
<el-button
v-if=
"itemContent.transferStateName"
type=
"warning"
plain
size=
"mini"
>
{{
itemContent
.
transferStateName
}}
</el-button>
</div>
<div
class=
"user_info flex"
>
<el-form
ref=
"addInviteRef"
label-width=
"100px"
style=
"width: 30%"
>
<el-form-item
label=
"订单编号:"
>
<div>
{{
itemContent
.
distributionOrderId
||
'
-
'
}}
</div>
</el-form-item>
<el-form-item
label=
"下单时间:"
>
<div>
{{
itemContent
.
createTime
||
'
-
'
}}
</div>
</el-form-item>
</el-form>
<el-form
ref=
"addInviteRef"
label-width=
"100px"
style=
"width: 30%"
>
<el-form-item
label=
"藏家名称:"
>
<div>
{{
itemContent
.
sellerName
||
'
-
'
}}
</div>
</el-form-item>
<el-form-item
label=
"下单用户:"
>
<div>
{{
itemContent
.
buyerName
||
'
-
'
}}
</div>
</el-form-item>
</el-form>
<el-form
ref=
"addInviteRef"
label-width=
"100px"
style=
"width: 40%"
>
<el-form-item
label=
"藏家地址:"
>
<div>
{{
itemContent
.
returnName
+
'
,
'
+
itemContent
.
returnPhone
+
'
,
'
+
itemContent
.
returnAddress
}}
</div>
</el-form-item>
<el-form-item
label=
"收货信息:"
>
<div>
{{
itemContent
.
receiverName
+
'
,
'
+
itemContent
.
receiverPhone
+
'
,
'
+
itemContent
.
receiverAddress
||
'
-
'
}}
</div>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card
class=
"box-card"
style=
"margin: 16px 16px 0"
>
<div
class=
"title"
>
<div
class=
"title_content"
>
平台鉴定信息
</div>
</div>
<div
class=
"user_info flex"
>
<el-form
ref=
"addInviteRef"
label-width=
"100px"
style=
"width: 30%"
>
<el-form-item
label=
"鉴定结果:"
>
<div>
{{
itemContent
.
approved
===
1
?
'
通过
'
:
itemContent
.
approved
===
0
?
'
不通过
'
:
'
-
'
}}
</div>
</el-form-item>
</el-form>
<el-form
ref=
"addInviteRef"
label-width=
"100px"
style=
"width: 70%"
>
<el-form-item
label=
"原因:"
>
<div>
{{
itemContent
.
approvedRemark
||
'
-
'
}}
</div>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card
class=
"box-card"
style=
"margin: 16px 16px 0"
>
<div
class=
"title"
>
<div
class=
"title_content"
>
物流信息
</div>
</div>
<div
class=
"user_info flex"
>
<el-form
ref=
"addInviteRef"
label-width=
"200px"
style=
"width: 100%"
>
<el-form-item
label=
"藏家>平台 物流信息:"
>
<div>
{{
fromLogisticsInfo
||
'
-
'
}}
</div>
</el-form-item>
<el-form-item
label=
"平台>买家 物流信息:"
>
<div>
{{
deliveryLogisticsInfo
||
'
-
'
}}
</div>
</el-form-item>
<el-form-item
label=
"平台>藏家 物流信息:"
>
<div>
{{
returnLogisticsInfo
||
'
-
'
}}
</div>
</el-form-item>
</el-form>
</div>
</el-card>
<el-card
class=
"box-card"
style=
"margin: 16px 16px 0"
>
<div
class=
"title"
>
<div
class=
"title_content"
>
藏品信息
</div>
</div>
<div
v-if=
"list && list.length > 0"
class=
"user_info flex"
>
<el-table
:data=
"list"
size=
"small"
element-loading-text=
"正在查询中..."
border
fit
highlight-current-row
>
<el-table-column
align=
"center"
label=
"藏品图片"
prop=
"homePageImage"
>
<template
slot-scope=
"scope"
>
<img
v-if=
"scope.row.homePageImage && scope.row.homePageImage.url"
:src=
"scope.row.homePageImage.url"
width=
"60px"
height=
"60px"
>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"名称"
min-width=
"150px"
prop=
"itemName"
>
<
template
slot-scope=
"scope"
>
<Line2Hidden
:text=
"scope.row.itemName || ''"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"数量"
prop=
"itemNum"
/>
<el-table-column
align=
"center"
label=
"金额"
prop=
"itemPrice"
/>
</el-table>
</div>
</el-card>
<NoPassIdentifyDialog
:show-no-pass-identify-dialog-show=
"showNoPassIdentifyDialog"
:distribution-order-id=
"itemContent.distributionOrderId"
:identify-order-id=
"itemContent.identifyOrderId"
@
refreshItem=
"handleRefreshItem"
@
cancelDialog=
"showNoPassIdentifyDialog = false"
/>
<ReturnLogisticIdentifyDialog
v-if=
"logisticDialogShow"
:logistic-dialog-show=
"logisticDialogShow"
:distribution-order-id=
"itemContent.distributionOrderId"
:identify-order-id=
"itemContent.identifyOrderId"
:type=
"logisticType"
@
cancelDialog=
"handleCancelLogisticDialog"
@
refreshDelivery=
"handleRefreshLogisticItem"
@
refreshSendBack=
"handleRefreshLogisticItem"
/>
</div>
</template>
<
script
>
import
Line2Hidden
from
'
@/components/line2Hidden
'
import
NoPassIdentifyDialog
from
'
./components/NoPassIdentifyDialog
'
import
ReturnLogisticIdentifyDialog
from
'
./components/ReturnLogisticIdentifyDialog
'
import
{
requestSigned
,
requestIdentify
,
requestTransferDetail
}
from
'
@/api/business/order
'
export
default
{
name
:
'
TransferOrderDetail
'
,
components
:
{
ReturnLogisticIdentifyDialog
,
NoPassIdentifyDialog
,
Line2Hidden
},
data
()
{
return
{
itemContent
:
{},
distributionOrderId
:
''
,
showNoPassIdentifyDialog
:
false
,
logisticDialogShow
:
false
,
logisticType
:
1
,
deliveryLogisticsInfo
:
''
,
fromLogisticsInfo
:
''
,
returnLogisticsInfo
:
''
,
list
:
[]
}
},
created
()
{
const
id
=
this
.
$route
.
query
.
distributionOrderId
if
(
!
id
)
{
return
}
this
.
distributionOrderId
=
id
this
.
handleGetDetail
()
},
methods
:
{
handleGetDetail
()
{
const
params
=
{
distributionOrderId
:
this
.
distributionOrderId
}
requestTransferDetail
(
params
).
then
(
response
=>
{
console
.
log
(
'
===response=
'
,
response
)
this
.
itemContent
=
response
.
data
.
data
.
data
||
{}
this
.
fromLogisticsInfo
=
response
.
data
.
data
.
fromLogisticsInfo
||
'
-
'
this
.
returnLogisticsInfo
=
response
.
data
.
data
.
returnLogisticsInfo
||
''
this
.
deliveryLogisticsInfo
=
response
.
data
.
data
.
deliveryLogisticsInfo
||
''
const
model
=
{
itemName
:
this
.
itemContent
.
itemName
,
homePageImage
:
this
.
itemContent
.
homePageImage
,
itemNum
:
this
.
itemContent
.
itemNum
,
itemPrice
:
this
.
itemContent
.
itemPrice
?
`¥
${
this
.
itemContent
.
itemPrice
}
`
:
'
-
'
}
this
.
list
=
[
model
]
}).
catch
((
e
)
=>
{
console
.
log
(
'
===报错=
'
,
e
)
this
.
$message
.
error
(
e
.
data
&&
e
.
data
.
errmsg
||
'
请求失败, 请重试
'
)
})
},
/**
* 收货
* @param item
*/
handleReceive
()
{
this
.
$confirm
(
'
请确认包裹的物流信息是否正确?
'
,
'
确认收货
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
message
'
}).
then
(()
=>
{
const
params
=
{
identifyOrderId
:
this
.
itemContent
.
identifyOrderId
}
requestSigned
(
params
).
then
(
response
=>
{
this
.
handleGetDetail
()
this
.
$notify
.
success
({
message
:
'
确认收货成功
'
})
}).
catch
((
e
)
=>
{
console
.
log
(
'
===报错=
'
,
e
)
this
.
$message
.
error
(
e
.
data
&&
e
.
data
.
errmsg
||
'
请求失败, 请重试
'
)
})
})
},
/**
* 通过
* @param item
*/
handlePass
()
{
this
.
$confirm
(
'
该藏品确定通过平台鉴定?
'
,
'
平台鉴定结果
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
message
'
}).
then
(()
=>
{
const
params
=
{
identifyOrderId
:
this
.
itemContent
.
identifyOrderId
,
distributionOrderId
:
this
.
itemContent
.
distributionOrderId
,
approved
:
1
}
requestIdentify
(
params
).
then
(
response
=>
{
this
.
handleGetDetail
()
this
.
$notify
.
success
({
message
:
'
操作成功
'
})
}).
catch
((
e
)
=>
{
console
.
log
(
'
===报错=
'
,
e
)
this
.
$message
.
error
(
e
.
data
&&
e
.
data
.
errmsg
||
'
请求失败, 请重试
'
)
})
})
},
/**
* 不通过
*/
handleNoPass
()
{
this
.
showNoPassIdentifyDialog
=
true
},
/**
* 不通过操作成功,刷新列表
*/
handleRefreshItem
()
{
this
.
handleGetDetail
()
this
.
showNoPassIdentifyDialog
=
false
},
/**
* 不通过
* @param row type: 1平台发货 2退回藏品
*/
handleSend
(
type
)
{
this
.
logisticDialogShow
=
true
this
.
logisticType
=
type
},
/**
* 不通过操作成功,刷新列表
*/
handleRefreshLogisticItem
()
{
this
.
logisticDialogShow
=
false
this
.
handleGetDetail
()
},
/**
* 发货 or 退回操作
*/
handleCancelLogisticDialog
()
{
this
.
logisticDialogShow
=
false
},
/**
* 不通过操作取消
*/
handleCancelNoPassDialog
()
{
this
.
handleGetDetail
()
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.page_transferDetail
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
padding
:
0
10px
10px
;
.detail_button
{
text-align
:
end
;
margin
:
16px
;
}
.title
{
display
:
flex
;
flex-direction
:
row
;
margin-bottom
:
10px
;
.title_content
{
font-weight
:
600
;
font-size
:
22px
;
margin-right
:
16px
;
}
}
}
/
deep
/
.el-card__body
{
padding
:
12px
;
}
/
deep
/
.el-form-item
{
margin-bottom
:
0
;
}
/
deep
/
.el-switch
{
height
:
30px
;
}
</
style
>
src/views/order/transferOrderView.vue
0 → 100644
View file @
87ddc663
<
template
>
<div
class=
"page_consignList"
>
<div
class=
"filter-container"
>
<div
class=
"button_left"
>
<el-input
v-model=
"listQuery.distributionOrderId"
clearable
class=
"filter-item"
style=
"width: 200px;"
placeholder=
"请输入订单编号"
/>
<el-select
v-model=
"listQuery.state"
placeholder=
"请选择中转状态"
class=
"filter-item"
style=
"width: 200px;"
>
<el-option
v-for=
"item in options"
:key=
"item.label"
:label=
"item.label"
:value=
"item.value"
size=
"mini"
/>
</el-select>
<el-input
v-model=
"listQuery.itemName"
clearable
class=
"filter-item"
style=
"width: 200px;"
placeholder=
"请输入藏品名称"
/>
<el-input
v-model=
"listQuery.sellerName"
clearable
class=
"filter-item"
style=
"width: 200px;"
placeholder=
"请输入藏家名称"
/>
<el-button
class=
"filter-item"
type=
"primary"
icon=
"el-icon-search"
style=
"margin-left: 12px"
@
click=
"handleFilter"
>
查找
</el-button>
<el-button
class=
"filter-item"
@
click=
"resetSearchForm"
>
重置
</el-button>
</div>
</div>
<el-table
v-loading=
"listLoading"
:data=
"list"
size=
"small"
element-loading-text=
"正在查询中..."
border
fit
highlight-current-row
>
<!--
<el-table-column
align=
"center"
label=
"排行"
width=
"100px"
type=
"index"
/>
-->
<el-table-column
align=
"center"
min-width=
"100px"
prop=
"distributionOrderId"
label=
"订单编号"
/>
<el-table-column
align=
"center"
label=
"藏家名称"
min-width=
"150px"
prop=
"sellerName"
>
<template
slot-scope=
"scope"
>
<Line2Hidden
:text=
"scope.row.sellerName || ''"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"藏家地址"
prop=
"returnName"
min-width=
"160px"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.returnName"
>
{{
scope
.
row
.
returnName
+
'
,
'
+
scope
.
row
.
returnPhone
+
'
,
'
+
scope
.
row
.
returnAddress
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"藏品图片"
prop=
"homePageImage"
>
<
template
slot-scope=
"scope"
>
<img
v-if=
"scope.row.homePageImage && scope.row.homePageImage.url"
:src=
"scope.row.homePageImage.url"
width=
"60px"
height=
"60px"
>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"藏品名称"
min-width=
"150px"
prop=
"itemName"
>
<
template
slot-scope=
"scope"
>
<Line2Hidden
:text=
"scope.row.itemName"
/>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"数量"
prop=
"itemNum"
/>
<el-table-column
align=
"center"
label=
"订单金额"
prop=
"amount"
>
<
template
slot-scope=
"scope"
>
<span
class=
"tooltip-span"
>
{{
`¥ ${scope.row.amount
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
下单用户
"
prop
=
"
buyerName
"
/>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
收货信息
"
prop
=
"
receiverName
"
min
-
width
=
"
160px
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
v
-
if
=
"
scope.row.receiverName
"
>
{{
scope
.
row
.
receiverName
+
'
,
'
+
scope
.
row
.
receiverPhone
+
'
,
'
+
scope
.
row
.
receiverAddress
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
下单时间
"
prop
=
"
createTime
"
/>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
中转状态
"
prop
=
"
transferStateName
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
class
=
"
tooltip-span
"
>
{{
`${scope.row.transferStateName || '-'
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
align
=
"
center
"
label
=
"
平台鉴定结果
"
prop
=
"
approved
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
class
=
"
tooltip-span
"
>
{{
`${scope.row.approved === 1 ? '通过' : scope.row.approved === 0 ? '不通过' : '-'
}
`
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<!--
中转单状态
(
12
,
"
待平台收货
"
),
(
13
,
"
平台鉴定中
"
),
(
14
,
"
待平台发货
"
),
(
15
,
"
待平台退回
"
),
(
16
,
"
平台已发货
"
),
(
17
,
"
退回待收货
"
),
(
18
,
"
退回已收货
"
),
-->
<
el
-
table
-
column
align
=
"
center
"
label
=
"
操作
"
width
=
"
300
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
button
type
=
"
primary
"
size
=
"
mini
"
@
click
=
"
handleToDetail(scope.row)
"
>
详情
<
/el-button
>
<
el
-
button
v
-
if
=
"
(scope.row.transferState === 12)
"
type
=
"
primary
"
size
=
"
mini
"
@
click
=
"
handleReceive(scope.row)
"
>
确认收货
<
/el-button
>
<
el
-
button
v
-
if
=
"
(scope.row.transferState === 13)
"
type
=
"
primary
"
size
=
"
mini
"
@
click
=
"
handlePass(scope.row)
"
>
通过
<
/el-button
>
<
el
-
button
v
-
if
=
"
(scope.row.transferState === 13)
"
type
=
"
danger
"
size
=
"
mini
"
@
click
=
"
handleNoPass(scope.row)
"
>
不通过
<
/el-button
>
<
el
-
button
v
-
if
=
"
(scope.row.transferState === 14)
"
type
=
"
primary
"
size
=
"
mini
"
@
click
=
"
handleSend(scope.row, 1)
"
>
去发货
<
/el-button
>
<
el
-
button
v
-
if
=
"
(scope.row.transferState === 15)
"
type
=
"
primary
"
size
=
"
mini
"
@
click
=
"
handleSend(scope.row, 2)
"
>
退回藏品
<
/el-button
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
Pagination
v
-
show
=
"
total>0
"
:
total
=
"
total
"
:
page
.
sync
=
"
listQuery.page
"
:
limit
.
sync
=
"
listQuery.limit
"
@
pagination
=
"
getList
"
/>
<
NoPassIdentifyDialog
:
show
-
no
-
pass
-
identify
-
dialog
-
show
=
"
showNoPassIdentifyDialog
"
:
distribution
-
order
-
id
=
"
distributionOrderId
"
:
identify
-
order
-
id
=
"
identifyOrderId
"
@
refreshItem
=
"
handleRefreshItem
"
@
cancelDialog
=
"
handleCancelNoPassDialog
"
/>
<
ReturnLogisticIdentifyDialog
v
-
if
=
"
logisticDialogShow
"
:
logistic
-
dialog
-
show
=
"
logisticDialogShow
"
:
distribution
-
order
-
id
=
"
distributionOrderId
"
:
identify
-
order
-
id
=
"
identifyOrderId
"
:
type
=
"
logisticType
"
@
cancelDialog
=
"
handleCancelLogisticDialog
"
@
refreshDelivery
=
"
handleRefreshLogisticItem(1)
"
@
refreshSendBack
=
"
handleRefreshLogisticItem(2)
"
/>
<
/div
>
<
/template
>
<
script
>
import
Line2Hidden
from
'
@/components/line2Hidden
'
import
Pagination
from
'
@/components/Pagination
'
import
{
requestTransferOrderList
,
requestSigned
,
requestIdentify
}
from
'
@/api/business/order
'
import
NoPassIdentifyDialog
from
'
./components/NoPassIdentifyDialog
'
import
ReturnLogisticIdentifyDialog
from
'
./components/ReturnLogisticIdentifyDialog
'
export
default
{
name
:
'
TransferOrderView
'
,
components
:
{
ReturnLogisticIdentifyDialog
,
NoPassIdentifyDialog
,
Pagination
,
Line2Hidden
}
,
data
()
{
return
{
activeIndex
:
'
1
'
,
itemKey
:
0
,
options
:
[{
value
:
12
,
label
:
'
待平台收货
'
}
,
{
value
:
13
,
label
:
'
平台鉴定中
'
}
,
{
value
:
14
,
label
:
'
待平台发货
'
}
,
{
value
:
15
,
label
:
'
待平台退回
'
}
,
{
value
:
16
,
label
:
'
平台已发货
'
}
,
{
value
:
17
,
label
:
'
退回待收货
'
}
,
{
value
:
18
,
label
:
'
退回已收货
'
}
],
listLoading
:
true
,
listQuery
:
{
page
:
1
,
size
:
20
,
type
:
3
}
,
list
:
[],
total
:
0
,
// 取消
currentSaleId
:
''
,
distributionOrderId
:
''
,
identifyOrderId
:
''
,
showNoPassIdentifyDialog
:
false
,
logisticDialogShow
:
false
,
logisticType
:
1
}
}
,
created
()
{
this
.
getList
()
}
,
methods
:
{
/**
* 详情
* @param item
*/
handleToDetail
(
item
)
{
this
.
$router
.
push
({
path
:
'
/order/transferOrderDetail
'
,
query
:
{
distributionOrderId
:
item
.
distributionOrderId
}}
)
}
,
/**
* 收货
* @param item
*/
handleReceive
(
row
)
{
this
.
$confirm
(
'
请确认包裹的物流信息是否正确?
'
,
'
确认收货
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
message
'
}
).
then
(()
=>
{
const
params
=
{
identifyOrderId
:
row
.
identifyOrderId
}
requestSigned
(
params
).
then
(
response
=>
{
this
.
list
=
this
.
list
.
filter
((
item
)
=>
{
if
(
item
.
identifyOrderId
===
row
.
identifyOrderId
)
{
item
.
transferStateName
=
'
平台鉴定中
'
item
.
transferState
=
13
return
item
}
return
item
}
)
this
.
$notify
.
success
({
message
:
'
确认收货成功
'
}
)
}
).
catch
((
e
)
=>
{
console
.
log
(
'
===报错=
'
,
e
)
this
.
$message
.
error
(
e
.
data
&&
e
.
data
.
errmsg
||
'
请求失败, 请重试
'
)
}
)
}
)
}
,
/**
* 通过
* @param item
*/
handlePass
(
row
)
{
this
.
$confirm
(
'
该藏品确定通过平台鉴定?
'
,
'
平台鉴定结果
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
type
:
'
message
'
}
).
then
(()
=>
{
const
params
=
{
identifyOrderId
:
row
.
identifyOrderId
,
distributionOrderId
:
row
.
distributionOrderId
,
approved
:
1
}
requestIdentify
(
params
).
then
(
response
=>
{
this
.
list
=
this
.
list
.
filter
((
item
)
=>
{
if
(
item
.
distributionOrderId
===
row
.
distributionOrderId
)
{
item
.
transferStateName
=
'
待平台发货
'
item
.
transferState
=
14
return
item
}
return
item
}
)
this
.
$notify
.
success
({
message
:
'
操作成功
'
}
)
}
).
catch
((
e
)
=>
{
console
.
log
(
'
===报错=
'
,
e
)
this
.
$message
.
error
(
e
.
data
&&
e
.
data
.
errmsg
||
'
请求失败, 请重试
'
)
}
)
}
)
}
,
/**
* 不通过
* @param row
*/
handleNoPass
(
row
)
{
this
.
identifyOrderId
=
row
.
identifyOrderId
this
.
distributionOrderId
=
row
.
distributionOrderId
this
.
showNoPassIdentifyDialog
=
true
}
,
/**
* 不通过操作成功,刷新列表
*/
handleRefreshItem
()
{
if
(
this
.
identifyOrderId
)
{
this
.
list
=
this
.
list
.
filter
((
item
)
=>
{
if
(
item
.
identifyOrderId
===
this
.
identifyOrderId
)
{
item
.
transferStateName
=
'
待平台退回
'
item
.
transferState
=
15
return
item
}
return
item
}
)
}
this
.
handleCancelNoPassDialog
()
}
,
/**
* 不通过
* @param row type: 1平台发货 2退回藏品
*/
handleSend
(
row
,
type
)
{
this
.
identifyOrderId
=
row
.
identifyOrderId
this
.
distributionOrderId
=
row
.
distributionOrderId
this
.
logisticDialogShow
=
true
this
.
logisticType
=
type
}
,
/**
* 不通过操作成功,刷新列表
*/
handleRefreshLogisticItem
(
type
)
{
if
(
this
.
identifyOrderId
)
{
this
.
list
=
this
.
list
.
filter
((
item
)
=>
{
if
(
item
.
identifyOrderId
===
this
.
identifyOrderId
)
{
if
(
type
===
1
)
{
item
.
transferStateName
=
'
平台已发货
'
item
.
transferState
=
16
}
else
{
item
.
transferStateName
=
'
退回待收货
'
item
.
transferState
=
17
}
return
item
}
return
item
}
)
}
this
.
handleCancelLogisticDialog
()
}
,
/**
* 发货 or 退回操作
*/
handleCancelLogisticDialog
()
{
this
.
logisticDialogShow
=
false
this
.
identifyOrderId
=
''
this
.
distributionOrderId
=
''
this
.
logisticType
=
0
}
,
/**
* 不通过操作取消
*/
handleCancelNoPassDialog
()
{
this
.
showNoPassIdentifyDialog
=
false
this
.
identifyOrderId
=
''
this
.
distributionOrderId
=
''
}
,
resetSearchForm
()
{
this
.
listQuery
=
{
page
:
1
,
limit
:
20
,
type
:
3
}
this
.
getList
()
}
,
handleFilter
()
{
this
.
listQuery
.
page
=
1
this
.
getList
()
}
,
handlerGetList
()
{
this
.
listQuery
.
page
=
1
this
.
getList
()
}
,
handleClick
(
tab
,
event
)
{
this
.
listQuery
.
page
=
1
this
.
getList
()
}
,
getList
()
{
localStorage
.
setItem
(
'
systemState
'
,
''
)
this
.
listLoading
=
true
requestTransferOrderList
(
this
.
listQuery
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
data
.
dataList
this
.
total
=
response
.
data
.
data
.
total
this
.
listLoading
=
false
}
).
catch
((
e
)
=>
{
console
.
log
(
'
===报错=
'
,
e
)
this
.
list
=
[]
this
.
total
=
0
this
.
listLoading
=
false
}
)
}
}
}
<
/script
>
<
style
lang
=
"
scss
"
scoped
>
/deep/
.
el
-
switch
{
height
:
30
px
;
}
/deep/
.
cell
{
display
:
flex
;
justify
-
content
:
center
;
}
.
page_consignList
{
padding
:
20
px
;
.
filter
-
container
{
display
:
flex
;
flex
-
direction
:
row
;
justify
-
content
:
space
-
between
;
}
}
<
/style
>
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