Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
welfare
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
达摩4.0重构
welfare
Commits
e61df18b
Commit
e61df18b
authored
Mar 02, 2021
by
黑潮
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 修复bug
parent
f4f1f42a
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
198 additions
and
31 deletions
+198
-31
cancel-order-dialog.vue
...ews/performance-manage/components/cancel-order-dialog.vue
+2
-2
logistics-detail-dialog.vue
...performance-manage/components/logistics-detail-dialog.vue
+118
-0
logistics-info-dialog.vue
...s/performance-manage/components/logistics-info-dialog.vue
+3
-0
writeoff-dialog.vue
src/views/performance-manage/components/writeoff-dialog.vue
+1
-0
delivery-detail.vue
src/views/performance-manage/delivery-detail.vue
+48
-12
delivery-list.vue
src/views/performance-manage/delivery-list.vue
+9
-7
record.vue
src/views/performance-manage/record.vue
+5
-3
refund.vue
src/views/performance-manage/refund.vue
+12
-7
No files found.
src/views/performance-manage/components/cancel-order-dialog.vue
View file @
e61df18b
...
...
@@ -34,10 +34,10 @@ export default {
this
.
visible
=
true
;
},
methods
:
{
handleConfirm
()
{
async
handleConfirm
()
{
if
(
this
.
reason
)
{
this
.
loading
=
true
;
closeOrder
({
await
closeOrder
({
deliveryId
:
this
.
data
.
deliveryId
,
desc
:
this
.
reason
,
}).
finally
(()
=>
this
.
loading
=
false
);
...
...
src/views/performance-manage/components/logistics-detail-dialog.vue
0 → 100644
View file @
e61df18b
<
template
>
<el-dialog
title=
"物流详情"
:visible
.
sync=
"visible"
width=
"800px"
@
closed=
"$emit('close')"
>
<div
class=
"logistics-info"
>
<div>
<span
class=
"key"
>
快递公司:
</span>
<span>
{{
logisticsCompanyName
||
'--'
}}
</span>
</div>
<div>
<span
class=
"key"
>
快递单号:
</span>
<span>
{{
logisticCode
||
'--'
}}
</span>
<el-button
class=
"ml15"
type=
"text"
v-clipboard:copy=
"data.logisticCode"
v-clipboard:success=
"onCopy"
v-clipboard:error=
"onError"
>
复制
</el-button>
</div>
</div>
<div
v-if=
"logisticsList.length>0"
class=
"logistics-step"
>
<h3>
派送中
</h3>
<el-timeline
class=
"hollow logistics-list"
>
<el-timeline-item
v-for=
"(activity, index) in logisticsList"
:key=
"index"
:color=
"index===0?'':'#c0c4cc'"
>
<div
class=
"logistics-line-step"
>
<span
class=
"time"
>
{{
activity
.
acceptTime
||
'--'
}}
</span>
<p
class=
"content"
>
{{
activity
.
acceptStation
}}
</p>
</div>
</el-timeline-item>
</el-timeline>
</div>
<div
v-else
class=
"empty_block"
></div>
</el-dialog>
</
template
>
<
script
>
import
fetch
from
'@/api/performance.js'
;
const
{
getLogisticsInfo
}
=
fetch
;
export
default
{
props
:
{
data
:
Object
},
data
()
{
return
{
visible
:
false
,
logisticsList
:
[],
logisticsCompanyName
:
''
,
logisticCode
:
''
};
},
mounted
()
{
this
.
visible
=
true
;
this
.
getInfo
();
},
methods
:
{
async
getInfo
()
{
let
{
result
}
=
await
getLogisticsInfo
({
companyCode
:
this
.
data
.
logisticsCompanyCode
/* 'YD' */
,
logisticsNo
:
this
.
data
.
logisticsNo
/* '4312317986451' */
,
});
this
.
logisticsList
=
result
.
traces
||
[];
this
.
logisticsList
.
reverse
();
this
.
logisticsCompanyName
=
result
.
logisticsCompanyName
;
this
.
logisticCode
=
result
.
logisticCode
;
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.empty_block
::after
{
content
:
'暂无物流信息'
;
}
.logistics-info
{
display
:
flex
;
&>div
{
flex
:
1
;
}
span
{
display
:
inline-block
;
}
span
+
span
{
margin-left
:
10px
;
}
}
.logistics-step
{
margin-top
:
24px
;
background
:
#fafafa
;
padding
:
15px
0px
;
h3
{
color
:
#303133
;
font-size
:
16px
;
border-bottom
:
1px
solid
#dcdfe6
;
padding
:
0
20px
15px
20px
;
}
;
.logistics-list
{
height
:
328px
;
overflow-y
:
auto
;
padding
:
20px
}
;
.logistics-item
{
position
:
relative
;
padding-bottom
:
10px
;
}
.logistics-line-step
{
display
:
flex
;
font-size
:
12px
;
}
.logistics-line-step
.time
{
margin-right
:
20px
;
width
:
160px
;
line-height
:
22px
;
font-weight
:
500
;
color
:
#303133
;
}
.logistics-line-step
.content
{
color
:
#303133
;
flex
:
1
;
line-height
:
22px
;
}
}
</
style
>
src/views/performance-manage/components/logistics-info-dialog.vue
View file @
e61df18b
...
...
@@ -109,6 +109,9 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.empty_block
::after
{
content
:
'暂无物流信息'
;
}
.logistics-info
{
display
:
flex
;
&>div
{
...
...
src/views/performance-manage/components/writeoff-dialog.vue
View file @
e61df18b
...
...
@@ -36,6 +36,7 @@ export default {
deliveryId
:
this
.
data
.
deliveryId
,
}).
finally
(()
=>
this
.
loading
=
false
);
this
.
visible
=
false
;
this
.
$emit
(
'refresh'
);
}
}
};
...
...
src/views/performance-manage/delivery-detail.vue
View file @
e61df18b
...
...
@@ -7,13 +7,13 @@
<div
class=
"line"
></div>
<i>
2
</i>
<span>
门店核销
</span>
<div
class=
"time"
>
{{
deliveryInfo
.
deliveryTime
|
formatDate
}}
</div>
<div
class=
"time"
>
{{
deliveryInfo
.
deliveryTime
|
formatDate
(
'dateTime'
)
}}
</div>
</div>
<div
class=
"status-text"
>
等待核销
</div>
<div
class=
"status-description"
>
发货单创建成功
</div>
<div>
<el-button
class=
"specter"
type=
"primary"
>
发货核销
</el-button>
<el-button>
关闭发货单
</el-button>
<el-button
class=
"specter"
type=
"primary"
@
click=
"openDialog('WriteOff')"
>
发货核销
</el-button>
<el-button
@
click=
"openDialog('CancelOrder')"
>
关闭发货单
</el-button>
</div>
</div>
<div
class=
"delivery-todo"
v-if=
"deliveryInfo.deliveryType === 1 && deliveryInfo.deliveryFlag === 0"
>
...
...
@@ -23,13 +23,13 @@
<div
class=
"line"
></div>
<i>
2
</i>
<span>
仓库发货
</span>
<div
class=
"time"
>
{{
deliveryInfo
.
deliveryTime
|
formatDate
}}
</div>
<div
class=
"time"
>
{{
deliveryInfo
.
deliveryTime
|
formatDate
(
'dateTime'
)
}}
</div>
</div>
<div
class=
"status-text"
>
等待仓库发货
</div>
<div
class=
"status-description"
>
发货单创建成功
</div>
<div>
<el-button
class=
"specter"
type=
"primary"
>
发货核销
</el-button>
<el-button>
关闭发货单
</el-button>
<el-button
class=
"specter"
type=
"primary"
@
click=
"openDialog('LogisticsDelivery')"
>
发货核销
</el-button>
<el-button
@
click=
"openDialog('CancelOrder')"
>
关闭发货单
</el-button>
</div>
</div>
<div
v-else-if=
"deliveryInfo.deliveryType === 2 && deliveryInfo.deliveryFlag === 1"
class=
"delivery-complete"
>
...
...
@@ -39,7 +39,7 @@
</div>
<div
v-else-if=
"deliveryInfo.deliveryType === 1 && deliveryInfo.deliveryFlag === 1"
class=
"delivery-complete"
>
<i
class=
"el-icon-success"
></i>
<p>
已发货
</p>
<p>
发货成功
</p>
<p>
仓库已发货,发货单完成
</p>
</div>
<div
v-else-if=
"deliveryInfo.deliveryFlag === 2"
class=
"delivery-complete"
>
...
...
@@ -81,9 +81,10 @@
{{
row
.
giftName
}}
</div>
<div
class=
"goods-text-info"
>
<div>
<span
v-for=
"(item, i) in JSON.parse(row.giftSkuStrand)"
:key=
"i"
>
{{
item
.
specStandardName
}}
:
{{
item
.
specStandardValueName
}}
</span>
<div
v-if=
"row.giftSkuStrand"
>
<span
v-for=
"(item, i) in JSON.parse(row.giftSkuStrand
|| '[]'
)"
:key=
"i"
>
{{
item
.
specStandardName
}}
:
{{
item
.
specStandardValueName
}}
</span>
</div>
<span
v-else
>
- -
</span>
<div>
SKU编码:
{{
row
.
giftSkuCode
}}
</div>
</div>
</div>
...
...
@@ -95,24 +96,35 @@
<el-table-column
label=
"数量"
prop=
"exchangeQuantity"
></el-table-column>
<el-table-column
label=
"物流公司 | 运单号"
>
<
template
slot-scope=
"{ row }"
>
<p>
{{
row
.
logisticsCompanyName
||
'--'
}}
</p>
<p>
{{
row
.
logisticsNo
||
'--'
}}
</p>
<div
v-if=
"row.logisticsNo"
>
<p>
{{
row
.
logisticsCompanyName
||
'--'
}}
<el-divider
direction=
"vertical"
></el-divider>
{{
row
.
logisticsNo
||
'--'
}}
</p>
<p><el-button
type=
"text"
@
click=
"openDialog('LogisticsDetail')"
>
查看物流
</el-button></p>
</div>
<span
v-else
>
- -
</span>
</
template
>
</el-table-column>
</el-table>
<component
:is=
"activeDialog"
:data=
"deliveryInfo"
@
close=
"activeDialog=''"
@
refresh=
"getDeliveryDetail"
></component>
</div>
</template>
<
script
>
import
CancelOrder
from
'./components/cancel-order-dialog'
;
import
LogisticsDelivery
from
'./components/logistics-delivery-dialog'
;
import
WriteOff
from
'./components/writeoff-dialog'
;
import
LogisticsDetail
from
'./components/logistics-detail-dialog'
;
import
fetch
from
'@/api/performance.js'
;
const
{
getDeliveryDetail
}
=
fetch
;
export
default
{
name
:
'DeliveryDetail'
,
components
:
{
CancelOrder
,
LogisticsDelivery
,
WriteOff
,
LogisticsDetail
},
data
()
{
return
{
giftList
:
[],
deliveryInfo
:
{},
loading
:
false
,
activeDialog
:
''
};
},
created
()
{
...
...
@@ -139,8 +151,32 @@ export default {
let
{
result
}
=
await
getDeliveryDetail
({
deliveryId
:
this
.
$route
.
query
.
deliveryId
}).
finally
(()
=>
this
.
loading
=
false
);
this
.
deliveryInfo
=
result
.
orderDelivery
,
this
.
giftList
=
[
result
.
orderDelivery
];
},
openDialog
(
dialogName
)
{
this
.
activeDialog
=
dialogName
;
},
},
filters
:
{
formatDate
(
ms
,
type
=
'date'
)
{
if
(
!
ms
)
return
'--'
;
const
date
=
[];
const
time
=
[];
ms
=
new
Date
(
ms
);
date
.
push
(
ms
.
getFullYear
());
date
.
push
((
ms
.
getMonth
()
+
1
).
toString
().
padStart
(
2
,
'0'
));
date
.
push
(
ms
.
getDate
().
toString
().
padStart
(
2
,
'0'
));
time
.
push
(
ms
.
getHours
().
toString
().
padStart
(
2
,
'0'
));
time
.
push
(
ms
.
getMinutes
().
toString
().
padStart
(
2
,
'0'
));
time
.
push
(
ms
.
getSeconds
().
toString
().
padStart
(
2
,
'0'
));
return
{
date
:
date
.
join
(
'-'
),
time
:
time
.
join
(
':'
),
dateTime
:
date
.
join
(
'-'
)
+
' '
+
time
.
join
(
':'
)
}[
type
];
}
}
}
,
};
</
script
>
...
...
src/views/performance-manage/delivery-list.vue
View file @
e61df18b
...
...
@@ -37,9 +37,10 @@
{{
row
.
giftName
}}
</div>
<div
class=
"goods-text-info"
>
<div>
<span
v-for=
"(item, i) in JSON.parse(row.giftSkuStrand)"
:key=
"i"
>
{{
item
.
specStandardName
}}
:
{{
item
.
specStandardValueName
}}
</span>
<div
v-if=
"row.giftSkuStrand"
>
<span
v-for=
"(item, i) in JSON.parse(row.giftSkuStrand
|| '[]'
)"
:key=
"i"
>
{{
item
.
specStandardName
}}
:
{{
item
.
specStandardValueName
}}
</span>
</div>
<span
v-else
>
- -
</span>
<div>
SKU编码:
{{
row
.
giftSkuCode
}}
</div>
</div>
</div>
...
...
@@ -68,22 +69,22 @@
<div
class=
"mt10"
><span>
收货信息:
</span><span>
{{
row
.
consignee
}}
{{
row
.
consigneePhone
}}
{{
row
.
consigneeAddress
}}
</span></div>
</
template
>
<
template
v-else-if=
"row.deliveryType === 1 && row.deliveryFlag === 1"
>
<div
class=
"mt10"
><span>
完成时间:
</span><span>
{{
row
.
deliveryTime
|
formatDate
}}
</span></div>
<div
class=
"mt10"
><span>
完成时间:
</span><span>
{{
row
.
deliveryTime
|
formatDate
(
'dateTime'
)
}}
</span></div>
<div
class=
"mt10"
><span>
收货信息:
</span><span>
{{
row
.
consignee
}}
{{
row
.
consigneePhone
}}
{{
row
.
consigneeAddress
}}
</span></div>
</
template
>
<
template
v-else-if=
"row.deliveryType === 2 && row.deliveryFlag === 0"
>
<div
class=
"mt10"
><span>
自提信息:
</span><span>
{{
row
.
consignee
}}
{{
row
.
consigneePhone
}}
</span></div>
<div
class=
"mt10"
><span>
自提时间:
</span><span>
{{
row
.
pickUpStopTime
|
formatDate
}}
</span></div>
<div
class=
"mt10"
><span>
自提时间:
</span><span>
{{
row
.
pickUpStopTime
|
formatDate
(
'dateTime'
)
}}
</span></div>
<div
class=
"mt10"
><span>
自提地址:
</span><span>
{{
row
.
pickUpStartTime
}}
-
{{
row
.
pickUpStopTime
}}
</span></div>
</
template
>
<
template
v-else-if=
"row.deliveryType === 2 && row.deliveryFlag === 1"
>
<div
class=
"mt10"
><span>
自提信息:
</span><span>
{{
row
.
consignee
}}
{{
row
.
consigneePhone
}}
</span></div>
<div
class=
"mt10"
><span>
完成时间:
</span><span>
{{
row
.
deliveryTime
|
formatDate
}}
</span></div>
<div
class=
"mt10"
><span>
完成时间:
</span><span>
{{
row
.
deliveryTime
|
formatDate
(
'dateTime'
)
}}
</span></div>
<div
class=
"mt10"
><span>
核销门店:
</span><span>
{{
row
.
pickUpPointName
}}
</span></div>
<div
class=
"mt10"
><span>
操作人:
</span><span>
{{
row
.
pickUpPointName
}}
</span></div>
</
template
>
<
template
v-else-if=
"row.deliveryFlag === 2"
>
<div
class=
"mt10"
><span>
关闭时间:
</span><span>
{{
row
.
cancelTime
|
formatDate
}}
</span></div>
<div
class=
"mt10"
><span>
关闭时间:
</span><span>
{{
row
.
cancelTime
|
formatDate
(
'dateTime'
)
}}
</span></div>
<div
class=
"mt10"
><span>
关闭原因:
</span><span>
{{
row
.
cancelReason
}}
</span></div>
</
template
>
</div>
...
...
@@ -308,7 +309,8 @@ export default {
return
{
date
:
date
.
join
(
'-'
),
time
:
time
.
join
(
':'
)
time
:
time
.
join
(
':'
),
dateTime
:
date
.
join
(
'-'
)
+
' '
+
time
.
join
(
':'
)
}[
type
];
}
},
...
...
src/views/performance-manage/record.vue
View file @
e61df18b
...
...
@@ -40,9 +40,10 @@
{{
row
.
giftName
}}
</div>
<div
class=
"goods-text-info"
>
<div>
<span
v-for=
"(item, i) in JSON.parse(row.giftSkuStrand)"
:key=
"i"
>
{{
item
.
specStandardName
}}
:
{{
item
.
specStandardValueName
}}
</span>
<div
v-if=
"row.giftSkuStrand"
>
<span
v-for=
"(item, i) in JSON.parse(row.giftSkuStrand
|| '[]'
)"
:key=
"i"
>
{{
item
.
specStandardName
}}
:
{{
item
.
specStandardValueName
}}
</span>
</div>
<span
v-else
>
- -
</span>
<div>
SKU编码:
{{
row
.
giftSkuCode
}}
</div>
</div>
</div>
...
...
@@ -249,7 +250,8 @@ export default {
return
{
date
:
date
.
join
(
'-'
),
time
:
time
.
join
(
':'
)
time
:
time
.
join
(
':'
),
dateTime
:
date
.
join
(
'-'
)
+
' '
+
time
.
join
(
':'
)
}[
type
];
}
},
...
...
src/views/performance-manage/refund.vue
View file @
e61df18b
...
...
@@ -41,9 +41,10 @@
{{
row
.
giftName
}}
</div>
<div
class=
"goods-text-info"
>
<div>
<span
v-for=
"(item, i) in JSON.parse(row.giftSkuStandard)"
:key=
"i"
>
{{
item
.
specStandardName
}}
:
{{
item
.
specStandardValueName
}}
</span>
<div
v-if=
"row.giftSkuStandard"
>
<span
v-for=
"(item, i) in JSON.parse(row.giftSkuStandard
|| '[]'
)"
:key=
"i"
>
{{
item
.
specStandardName
}}
:
{{
item
.
specStandardValueName
}}
</span>
</div>
<span
v-else
>
- -
</span>
<div>
SKU编码:
{{
row
.
giftSkuCode
}}
</div>
</div>
</div>
...
...
@@ -73,25 +74,25 @@
<div
class=
"mt10"
><span>
退货说明:
</span><span>
{{
row
.
refundRemark
}}
</span></div>
</
template
>
<
template
v-else-if=
"row.refundFlag === 0 && row.refundLogisticsNo"
>
<div
class=
"mt10"
><span>
寄回时间:
</span><span>
{{
row
.
deliveryTime
|
formatDate
}}
</span></div>
<div
class=
"mt10"
><span>
寄回时间:
</span><span>
{{
row
.
deliveryTime
|
formatDate
(
'dateTime'
)
}}
</span></div>
<div
class=
"mt10"
><span>
退货原因:
</span><span>
{{
row
.
refundReason
}}
</span></div>
<div
class=
"mt10"
><span>
退货说明:
</span><span>
{{
row
.
refundRemark
}}
</span></div>
</
template
>
<
template
v-else-if=
"row.refundFlag === 1"
>
<div
class=
"mt10"
><span>
操作人:
</span><span>
{{
row
.
refundUserName
}}
</span></div>
<div
class=
"mt10"
><span>
操作时间:
</span><span>
{{
row
.
processTime
|
formatDate
}}
</span></div>
<div
class=
"mt10"
><span>
操作时间:
</span><span>
{{
row
.
processTime
|
formatDate
(
'dateTime'
)
}}
</span></div>
<div
class=
"mt10"
><span>
退货原因:
</span><span>
{{
row
.
refundReason
}}
</span></div>
<div
class=
"mt10"
><span>
退货说明:
</span><span>
{{
row
.
refundRemark
}}
</span></div>
</
template
>
<
template
v-else-if=
"row.refundFlag === 2"
>
<div
class=
"mt10"
><span>
操作人:
</span><span>
{{
row
.
refundUserName
}}
</span></div>
<div
class=
"mt10"
><span>
操作时间:
</span><span>
{{
row
.
processTime
|
formatDate
}}
</span></div>
<div
class=
"mt10"
><span>
操作时间:
</span><span>
{{
row
.
processTime
|
formatDate
(
'dateTime'
)
}}
</span></div>
<div
class=
"mt10"
><span>
拒绝原因:
</span><span>
{{
row
.
refuseReason
}}
</span></div>
<div
class=
"mt10"
><span>
退货原因:
</span><span>
{{
row
.
refundReason
}}
</span></div>
<div
class=
"mt10"
><span>
退货说明:
</span><span>
{{
row
.
refundRemark
}}
</span></div>
</
template
>
<
template
v-else-if=
"row.refundFlag === 3"
>
<div
class=
"mt10"
><span>
关闭时间:
</span><span>
{{
row
.
cancelTime
|
formatDate
}}
</span></div>
<div
class=
"mt10"
><span>
关闭时间:
</span><span>
{{
row
.
cancelTime
|
formatDate
(
'dateTime'
)
}}
</span></div>
<div
class=
"mt10"
><span>
关闭原因:
</span><span>
{{
row
.
cancelReason
}}
</span></div>
</
template
>
</div>
...
...
@@ -424,7 +425,8 @@ export default {
return
{
date
:
date
.
join
(
'-'
),
time
:
time
.
join
(
':'
)
time
:
time
.
join
(
':'
),
dateTime
:
date
.
join
(
'-'
)
+
' '
+
time
.
join
(
':'
)
}[
type
];
}
},
...
...
@@ -443,6 +445,9 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.empty_block
::after
{
content
:
'暂无物流信息'
;
}
.logistics-info
{
display
:
flex
;
&>div
{
...
...
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