Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
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
lanbaoming
jiedao-app-operator-master
Commits
5d010348
Commit
5d010348
authored
Oct 29, 2024
by
1483922988@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'test' of
http://110.41.143.128:8081/lanbaoming/jiedao-app-operator-master
into test
parents
d176ce48
6a4365e9
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1217 additions
and
299 deletions
+1217
-299
order.js
src/api/ecw/order.js
+8
-0
dict.js
src/utils/dict.js
+1
-0
CheckDetailProd.vue
src/views/ecw/order/CheckDetailProd.vue
+399
-0
CheckDetailProd.vue
src/views/ecw/order/components/CheckDetailProd.vue
+303
-0
DetailProd.vue
src/views/ecw/order/components/DetailProd.vue
+304
-109
detail.vue
src/views/ecw/order/detail.vue
+43
-171
edit.vue
src/views/ecw/order/edit.vue
+1
-1
index.vue
src/views/ecw/order/index.vue
+4
-1
index.vue
src/views/ecw/product/index.vue
+154
-17
No files found.
src/api/ecw/order.js
View file @
5d010348
...
...
@@ -1052,6 +1052,14 @@ export function getOrderItemDeleted(orderId){
})
}
//退仓品名列表
export
function
getOrderCheckInfo
(
orderId
){
return
request
({
url
:
'
/ecw/order/order-check-info/
'
+
orderId
,
method
:
'
get
'
,
})
}
// 打包页面订单数据统计
export
function
getPackStatistics
(
orderId
){
return
request
({
...
...
src/utils/dict.js
View file @
5d010348
...
...
@@ -171,6 +171,7 @@ export const DICT_TYPE = {
// order
ORDER_TYPE
:
"
order_type
"
,
// 订单类型
PRODUCT_RECORD_ATTRIBUTE
:
"
product_record_attribute
"
,
//产品备案属性
PROD_QUERY_TITLE_ZH_FIELD
:
'
prod_query_title_zh_field
'
,
// 商品列表商品中文名称查询类型
CONTROL_GOODS_STATUS
:
"
control_goods_status
"
,
//控货状态
DISBURSEMENT_TYPE
:
"
disbursement_type
"
,
//垫付类型
DRAWEE
:
"
drawee
"
,
// 付款人
...
...
src/views/ecw/order/CheckDetailProd.vue
0 → 100644
View file @
5d010348
<
script
>
import
Decimal
from
'
decimal.js
'
import
{
parseTime
}
from
'
@/utils/ruoyi
'
export
default
{
name
:
'
CheckDetailProd
'
,
props
:
{
list
:
{
type
:
Array
,
required
:
true
},
attrList
:
{
type
:
Array
,
required
:
true
},
currencyMap
:
{
type
:
Object
,
required
:
true
},
unitMap
:{
type
:
Object
,
required
:
true
},
transportId
:
{
type
:
Number
,
required
:
false
},
},
data
(){
return
{
feeDetail
:
null
,
showFeeDetailDialog
:
false
}
},
computed
:{
// 显示特性
showAttrText
(){
return
ids
=>
{
if
(
!
ids
)
return
''
ids
=
!
Array
.
isArray
(
ids
)
?
ids
.
split
(
'
,
'
)
:
ids
const
attrMap
=
{}
this
.
attrList
.
forEach
(
item
=>
{
attrMap
[
item
.
id
]
=
this
.
$l
(
item
,
'
attrName
'
)
})
return
ids
.
map
(
id
=>
attrMap
[
id
]).
join
(
'
,
'
)
}
},
},
methods
:{
closeFeeDetail
(){
this
.
showFeeDetailDialog
=
null
},
showFeeDetail
(
row
,
type
){
console
.
log
(
"
showFeeDetail
"
,
row
,
type
)
this
.
showFeeDetailDialog
=
true
const
freight
=
[],
clearance
=
[]
let
freightFields
=
[]
let
clearanceFields
=
[]
const
brandType
=
row
.
warehouseInInfoVO
?
row
.
feeType
:
row
.
brandType
// 不是特价则显示其他字段
freightFields
=
[
// {field: 'oneSeaFreight', label: this.$t('成交单价')},
{
field
:
'
originalSeaFreight
'
,
label
:
this
.
$t
(
'
默认单价(无牌无液无电)
'
)},
// {field: 'brandFreightPrice', label: this.$t('品牌加价')},
{
field
:
'
liquidFreightPrice
'
,
label
:
this
.
$t
(
'
液体加价
'
)},
{
field
:
'
electrifiedFreightPrice
'
,
label
:
this
.
$t
(
'
带电加价
'
)},
{
field
:
'
discountFreightPrice
'
,
label
:
this
.
$t
(
'
优惠活动减免
'
)},
{
field
:
'
plainCommission
'
,
label
:
this
.
$t
(
'
明佣
'
)},
{
field
:
'
hiddenCommission
'
,
label
:
this
.
$t
(
'
暗佣
'
)}
]
// 批量加价
if
(
row
.
markupSeaFreight
){
freightFields
.
push
({
field
:
'
markupSeaFreight
'
,
label
:
this
.
$t
(
'
批量加价
'
)})
}
// 品牌加价
if
(
row
[
'
brandFreightPrice
'
]
&&
row
[
'
brandFreightPrice
'
]
>
0
){
freightFields
.
push
({
field
:
'
brandFreightPrice
'
,
label
:
brandType
==
1
?
this
.
$t
(
'
有品牌加价
'
)
:
this
.
$t
(
'
中性品牌加价
'
)})
}
// 有减免金额才显示优惠后单价
if
(
row
[
'
discountFreightPrice
'
]
&&
row
[
'
discountFreightPrice
'
]
>
0
){
freightFields
.
push
({
field
:
'
afterDiscountSeaFreight
'
,
label
:
this
.
$t
(
'
优惠后单价
'
)})
}
// 包装加价
if
(
row
[
'
packagingFreightPrice
'
]
&&
row
[
'
packagingFreightPrice
'
]
>
0
){
freightFields
.
push
({
field
:
'
packagingFreightPrice
'
,
label
:
this
.
$t
(
'
包装加价
'
)})
}
freightFields
.
push
({
field
:
'
oneSeaFreight
'
,
label
:
this
.
$t
(
'
成交单价
'
)})
console
.
log
({
freightFields
})
freightFields
.
forEach
(
item
=>
{
if
(
row
[
item
.
field
]){
freight
.
push
({
label
:
item
.
label
,
value
:
row
[
item
.
field
],
currency
:
row
.
seaFreightCurrency
,
volume
:
row
.
seaFreightVolume
,
// 特价通过四个字段标识,任一为true则为特价
remark
:
item
.
field
==
'
oneSeaFreight
'
&&
(
row
.
specialPriceType
||
row
.
splitCustomPriceType
||
row
.
channelManualPricing
)
?
this
.
$t
(
'
特价
'
)
:
null
})
}
})
clearanceFields
=
[
{
field
:
'
originalClearanceFreight
'
,
label
:
this
.
$t
(
'
默认单价(无牌无液无电)
'
)},
// {field: 'brandClearanceFeePrice', label: this.$t('品牌加价')},
{
field
:
'
liquidClearanceFeePrice
'
,
label
:
this
.
$t
(
'
液体加价
'
)},
{
field
:
'
electrifiedClearanceFeePrice
'
,
label
:
this
.
$t
(
'
带电加价
'
)},
{
field
:
'
discountClearanceFeePrice
'
,
label
:
this
.
$t
(
'
优惠活动减免
'
)}
]
// 批量加价
if
(
row
.
markupClearanceFreight
){
clearanceFields
.
push
({
field
:
'
markupClearanceFreight
'
,
label
:
this
.
$t
(
'
批量加价
'
)})
}
// 品牌加价
if
(
row
[
'
brandClearanceFeePrice
'
]
&&
row
[
'
brandClearanceFeePrice
'
]
>
0
){
clearanceFields
.
push
({
field
:
'
brandClearanceFeePrice
'
,
label
:
brandType
==
1
?
this
.
$t
(
'
有品牌加价
'
)
:
this
.
$t
(
'
中性品牌加价
'
)})
}
if
(
row
[
'
discountClearanceFeePrice
'
]
&&
row
[
'
discountClearanceFeePrice
'
]
>
0
){
clearanceFields
.
push
({
field
:
'
afterDiscountClearanceFreight
'
,
label
:
this
.
$t
(
'
优惠后单价
'
)})
}
// 包装加价
if
(
row
[
'
packagingClearanceFeePrice
'
]
&&
row
[
'
packagingClearanceFeePrice
'
]
>
0
){
clearanceFields
.
push
({
field
:
'
packagingClearanceFeePrice
'
,
label
:
this
.
$t
(
'
包装加价
'
)})
}
clearanceFields
.
push
({
field
:
'
oneClearanceFreight
'
,
label
:
this
.
$t
(
'
成交单价
'
)})
clearanceFields
.
forEach
(
item
=>
{
if
(
row
[
item
.
field
]){
clearance
.
push
({
label
:
item
.
label
,
value
:
row
[
item
.
field
],
currency
:
row
.
clearanceFreightCurrency
,
volume
:
row
.
clearanceFreightVolume
,
remark
:
(
row
.
specialPriceType
||
row
.
splitCustomPriceType
||
row
.
channelManualPricing
)
&&
item
.
field
==
'
oneClearanceFreight
'
?
this
.
$t
(
'
特价
'
)
:
null
})
}
})
freight
.
push
({
label
:
this
.
$t
(
'
价格更新时间
'
),
value
:
parseTime
(
row
.
updateTime
)
})
clearance
.
push
({
label
:
this
.
$t
(
'
价格更新时间
'
),
value
:
parseTime
(
row
.
updateTime
)
})
this
.
feeDetail
=
{
freight
,
clearance
,
charging
:
row
.
charging
,
coupons
:
row
.
couponInfoVOList
,
airClearanceSource
:
[,
this
.
$t
(
'
商品
'
),
this
.
$t
(
'
渠道
'
),
this
.
$t
(
'
商品线路价格
'
),
this
.
$t
(
'
线路渠道
'
)][
row
.
airClearanceSource
],
// 1 商品 2 渠道 3 商品线路价格 4 线路渠道
airClearanceInfo
:
JSON
.
parse
(
row
.
airClearanceInfo
),
//空运清关费来源数据详情,
sourceName
:
row
.
airClearanceSource
==
1
?
this
.
$l
(
row
,
'
prodTitle
'
)
:
this
.
order
?.
channelName
}
},
// 获取储位名称
getLocationName
(
locationArr
){
if
(
!
locationArr
||
!
locationArr
.
length
)
return
''
let
arr
=
[]
locationArr
.
forEach
(
item
=>
{
arr
.
push
(
`
${
item
.
areaName
}${
item
.
locationName
||
''
}
`
)
})
return
Array
.
from
(
new
Set
(
arr
)).
join
(
"
,
"
)
},
// 获取品名汇总数据
getProdSummary
(
e
){
console
.
log
(
"
getProdSummart
"
,
e
)
// 货值
let
worth
=
new
Decimal
(
0
)
// 填单数据
let
fillData
=
{
num
:
new
Decimal
(
0
),
weight
:
new
Decimal
(
0
),
volume
:
new
Decimal
(
0
),
quantity
:
new
Decimal
(
0
)
}
// 入仓数据
let
warehouseInData
=
{
num
:
new
Decimal
(
0
),
weight
:
new
Decimal
(
0
),
volume
:
new
Decimal
(
0
),
quantity
:
new
Decimal
(
0
)
}
// 收费数据
let
chargeData
=
{
weight
:
new
Decimal
(
0
),
volume
:
new
Decimal
(
0
),
}
this
.
list
?.
forEach
(
item
=>
{
worth
=
worth
.
plus
(
item
.
worth
||
0
)
fillData
.
num
=
fillData
.
num
.
plus
(
item
.
num
||
0
)
fillData
.
weight
=
fillData
.
weight
.
plus
(
item
.
weight
||
0
)
fillData
.
volume
=
fillData
.
volume
.
plus
(
item
.
volume
||
0
)
fillData
.
quantity
=
fillData
.
quantity
.
plus
(
item
.
quantity
||
0
)
if
(
item
.
warehouseInInfoVO
){
warehouseInData
.
num
=
warehouseInData
.
num
.
plus
(
item
.
warehouseInInfoVO
.
cartonsNum
||
0
)
warehouseInData
.
weight
=
warehouseInData
.
weight
.
plus
(
item
.
warehouseInInfoVO
.
weight
||
0
)
warehouseInData
.
volume
=
warehouseInData
.
volume
.
plus
(
item
.
warehouseInInfoVO
.
volume
||
0
)
warehouseInData
.
quantity
=
warehouseInData
.
quantity
.
plus
(
item
.
warehouseInInfoVO
.
quantityAll
||
0
)
}
chargeData
.
weight
=
chargeData
.
weight
.
plus
(
item
.
chargeWeight
||
0
)
chargeData
.
volume
=
chargeData
.
volume
.
plus
(
item
.
chargeVolume
||
0
)
})
const
summary
=
Array
(
19
).
fill
(
null
)
summary
[
3
]
=
this
.
$t
(
"
合计
"
)
// 入仓
summary
[
4
]
=
`
${
warehouseInData
.
num
}${
this
.
$t
(
'
箱
'
)}
${
warehouseInData
.
weight
}
KG
${
warehouseInData
.
volume
}
m³
${
warehouseInData
.
quantity
}${
this
.
$t
(
'
个
'
)}
`
// 货值
summary
[
7
]
=
worth
.
toNumber
()
// 收费数九
summary
[
10
]
=
`
${
chargeData
.
weight
}
KG
${
chargeData
.
volume
}
m³`
// 填单数据
summary
[
17
]
=
`
${
fillData
.
num
}${
this
.
$t
(
'
箱
'
)}
${
fillData
.
weight
}
KG
${
fillData
.
volume
}
m³
${
fillData
.
quantity
}${
this
.
$t
(
'
个
'
)}
`
return
summary
}
}
}
</
script
>
<
template
>
<div>
<el-table
:data=
"list"
border
show-summary
:summary-method=
"getProdSummary"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('序号')"
width=
"90px"
>
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"prodTitleZh"
:label=
"$t('品名')"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
prodTitleZh
}}
/
{{
row
.
prodTitleEn
}}
</
template
>
</el-table-column>
<!--<el-table-column prop="prodTitleEn" :label="$t('品名')" />-->
<el-table-column
prop=
"brand"
:label=
"$t('品牌')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.brandName"
>
{{
row
.
brandName
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"row.brandType"
/>
</template>
</el-table-column>
<el-table-column
prop=
"brand"
:label=
"$t('特性')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
{{
showAttrText
(
row
.
warehouseInInfoVO
?
row
.
warehouseInProdAttrIds
:
row
.
prodAttrIds
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"sumNum"
:label=
"$t('入仓信息')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
<!--
<el-link
type=
"primary"
@
click.native=
"showWarehouseLogs(row,1)"
>
{{
row
.
warehouseInInfoVO
?
row
.
warehouseInInfoVO
.
cartonsNum
:
0
}}
</el-link>
<div
v-if=
"row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification"
>
(
{{
$t
(
'
多规格
'
)
}}
)
</div>
-->
<div
v-if=
"row.warehouseInInfoVO"
>
{{
row
.
warehouseInInfoVO
.
cartonsNum
}}{{
$t
(
'
箱
'
)
}}
{{
row
.
warehouseInInfoVO
.
weight
}}
Kg
{{
row
.
warehouseInInfoVO
.
volume
}}
m³
{{
row
.
warehouseInInfoVO
.
quantityAll
}}{{
$t
(
'
个
'
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"warehouseType"
:label=
"$t('类型')"
width=
"120px"
/>
<el-table-column
prop=
"specificationType"
:label=
"$t('包装')"
width=
"120px"
/>
<el-table-column
prop=
"worth"
:label=
"$t('货值')"
width=
"120px"
/>
<el-table-column
prop=
"warehouseRecordRemark"
:label=
"$t('入仓备注')"
width=
"120px"
/>
<el-table-column
prop=
"warehouseInInfoVO.expressNo"
:label=
"$t('快递单号')"
/>
<el-table-column
prop=
"sumNum"
:label=
"$t('收费数据')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
<div
v-if=
"row.warehouseInInfoVO"
>
{{
row
.
chargeWeight
}}
Kg
{{
row
.
chargeVolume
}}
m³
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"`${$t('费用类型')}/${$t('模式')}`"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PAY_ADVANCE"
:value=
"row.isPayAdvance"
/>
<div
v-if=
"row.charging ==0"
>
{{
$t
(
'
运费/清关费
'
)
}}
</div>
<div
v-if=
"row.charging ==1"
>
{{
$t
(
'
全包价
'
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('成交单价')"
width=
"220px"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.charging ==1"
>
<template
v-if=
"!row.originalSeaFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'clearance')"
v-else
>
{{$t('全包价')}} {{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</el-link>
</template>
<
template
v-else-if=
"!row.originalSeaFreight && !row.originalClearanceFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else
>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'freight')"
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</el-link>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'clearance')"
>
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</el-link
>
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('材质')"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
:value=
"row.material"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('用途')"
>
<
template
slot-scope=
"{row}"
>
<div
v-if=
"row.usageIds"
>
<div
v-for=
"(item,index) in row.usageIds.split(',')"
>
<dict-tag
:type=
"DICT_TYPE.OREER_ITEM_USAGE"
:value=
"item"
/>
<span
v-if=
"(index+1)!=row.usageIds.split(',').length"
>
,
</span>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('储位')"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.warehouseInInfoVO"
>
{{
getLocationName
(
row
.
warehouseInInfoVO
.
orderLocationMergeVOSet
)
}}
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('商品链接')"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.link"
>
<a
target=
"_blank"
:url=
"row.link"
>
{{
row
.
link
}}
</a>
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"sumNum"
:label=
"$t('填单信息')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
num
}}{{
$t
(
'
箱
'
)
}}
{{
row
.
weight
}}
Kg
{{
row
.
volume
}}
m³
{{
row
.
quantity
}}{{
$t
(
'
个
'
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"expressNo"
:label=
"$t('填单快递单号')"
/>
</el-table>
<el-dialog
:title=
"$t('费用详情')"
:visible=
"!!showFeeDetailDialog"
:before-close=
"closeFeeDetail"
>
<el-row
v-if=
"feeDetail"
>
<el-col
:span=
"12"
>
<div>
{{feeDetail.charging ? $t('全包价') : $t('运费')}}
</div>
<div
v-for=
"item in feeDetail.freight"
>
{{item.label}}: {{item.value}}
<
template
v-if=
"item.currency"
>
{{
currencyMap
[
item
.
currency
]
}}
/
{{
unitMap
[
item
.
volume
]
}}
<span
v-if=
"item.remark"
>
【
{{
item
.
remark
}}
】
</span>
</
template
>
</div>
</el-col>
<el-col
:span=
"12"
v-if=
"feeDetail.charging != 1"
>
<div>
{{$t('清关费')}}
<
template
v-if=
"transportId == 3 || transportId == 4"
>
{{
$t
(
'
来自{source
}
'
,
{
source
:
feeDetail
.
airClearanceSource
+
feeDetail
.
sourceName
}
)
}}
<
/template
>
<
/div
>
<
div
v
-
for
=
"
item in feeDetail.clearance
"
>
{{
item
.
label
}}
:
{{
item
.
value
}}
<
template
v
-
if
=
"
item.currency
"
>
{{
currencyMap
[
item
.
currency
]
}}
/
{{
unitMap
[
item
.
volume
]
}}
<
span
v
-
if
=
"
item.remark
"
>
【
{{
item
.
remark
}}
】
<
/span
>
<
/template
>
<
/div
>
<
/el-col
>
<
/el-row
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
{{
$t
(
'
优惠详情
'
)
}}
<
/div
>
<
el
-
table
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
:
data
=
"
feeDetail.coupons
"
>
<
el
-
table
-
column
label
=
"
优惠ID
"
prop
=
"
couponId
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
优惠名称
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
$l
(
row
,
'
title
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
类型
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_COUPON_TYPE
"
:
value
=
"
row.type
"
><
/dict-tag
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
运费优惠
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
freightReduceAmount
}}
{{
currencyMap
[
row
.
freightReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
清关费优惠
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
clearanceReduceAmount
}}
{{
currencyMap
[
row
.
clearanceReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
/el-dialog
>
<
/div
>
<
/template
>
src/views/ecw/order/components/CheckDetailProd.vue
0 → 100644
View file @
5d010348
<
script
>
import
Decimal
from
'
decimal.js
'
import
{
parseTime
}
from
'
@/utils/ruoyi
'
export
default
{
name
:
'
CheckDetailProd
'
,
props
:
{
list
:
{
type
:
Array
,
required
:
true
},
attrList
:
{
type
:
Array
,
required
:
true
},
prodTypeList
:
{
type
:
Array
,
required
:
true
},
currencyMap
:
{
type
:
Object
,
required
:
true
},
unitMap
:{
type
:
Object
,
required
:
true
},
transportId
:
{
type
:
Number
,
required
:
false
},
},
data
(){
return
{
feeDetail
:
null
,
showFeeDetailDialog
:
false
}
},
computed
:{
getProdTypeName
()
{
return
(
prodType
)
=>
{
for
(
let
index
in
this
.
prodTypeList
)
{
let
prodTypeItem
=
this
.
prodTypeList
[
index
];
if
(
prodTypeItem
.
id
==
prodType
)
{
return
this
.
$l
(
prodTypeItem
,
"
title
"
);
}
}
};
},
// 显示特性
showAttrText
(){
return
ids
=>
{
if
(
!
ids
)
return
''
ids
=
!
Array
.
isArray
(
ids
)
?
ids
.
split
(
'
,
'
)
:
ids
const
attrMap
=
{}
this
.
attrList
.
forEach
(
item
=>
{
attrMap
[
item
.
id
]
=
this
.
$l
(
item
,
'
attrName
'
)
})
return
ids
.
map
(
id
=>
attrMap
[
id
]).
join
(
'
,
'
)
}
},
},
methods
:{
// 获取储位名称
getLocationName
(
locationArr
){
if
(
!
locationArr
||
!
locationArr
.
length
)
return
''
let
arr
=
[]
locationArr
.
forEach
(
item
=>
{
arr
.
push
(
`
${
item
.
areaName
}${
item
.
locationName
||
''
}
`
)
})
return
Array
.
from
(
new
Set
(
arr
)).
join
(
"
,
"
)
},
// 获取品名汇总数据
getProdSummary
(
e
){
console
.
log
(
"
getProdSummart
"
,
e
)
// 货值
let
worth
=
new
Decimal
(
0
)
// 填单数据
let
fillData
=
{
num
:
new
Decimal
(
0
),
weight
:
new
Decimal
(
0
),
volume
:
new
Decimal
(
0
),
quantity
:
new
Decimal
(
0
)
}
// 入仓数据
let
warehouseInData
=
{
num
:
new
Decimal
(
0
),
weight
:
new
Decimal
(
0
),
volume
:
new
Decimal
(
0
),
quantity
:
new
Decimal
(
0
)
}
// 收费数据
let
chargeData
=
{
weight
:
new
Decimal
(
0
),
volume
:
new
Decimal
(
0
),
}
this
.
list
?.
forEach
(
item
=>
{
worth
=
worth
.
plus
(
item
.
worth
||
0
)
fillData
.
num
=
fillData
.
num
.
plus
(
item
.
num
||
0
)
fillData
.
weight
=
fillData
.
weight
.
plus
(
item
.
weight
||
0
)
fillData
.
volume
=
fillData
.
volume
.
plus
(
item
.
volume
||
0
)
fillData
.
quantity
=
fillData
.
quantity
.
plus
(
item
.
quantity
||
0
)
if
(
item
.
warehouseInInfoVO
){
warehouseInData
.
num
=
warehouseInData
.
num
.
plus
(
item
.
warehouseInInfoVO
.
cartonsNum
||
0
)
warehouseInData
.
weight
=
warehouseInData
.
weight
.
plus
(
item
.
warehouseInInfoVO
.
weight
||
0
)
warehouseInData
.
volume
=
warehouseInData
.
volume
.
plus
(
item
.
warehouseInInfoVO
.
volume
||
0
)
warehouseInData
.
quantity
=
warehouseInData
.
quantity
.
plus
(
item
.
warehouseInInfoVO
.
quantityAll
||
0
)
}
chargeData
.
weight
=
chargeData
.
weight
.
plus
(
item
.
chargeWeight
||
0
)
chargeData
.
volume
=
chargeData
.
volume
.
plus
(
item
.
chargeVolume
||
0
)
})
const
summary
=
Array
(
19
).
fill
(
null
)
summary
[
3
]
=
this
.
$t
(
"
合计
"
)
// 入仓
summary
[
4
]
=
`
${
warehouseInData
.
num
}${
this
.
$t
(
'
箱
'
)}
${
warehouseInData
.
weight
}
KG
${
warehouseInData
.
volume
}
m³
${
warehouseInData
.
quantity
}${
this
.
$t
(
'
个
'
)}
`
// 货值
summary
[
7
]
=
worth
.
toNumber
()
// 收费数九
summary
[
10
]
=
`
${
chargeData
.
weight
}
KG
${
chargeData
.
volume
}
m³`
// 填单数据
summary
[
17
]
=
`
${
fillData
.
num
}${
this
.
$t
(
'
箱
'
)}
${
fillData
.
weight
}
KG
${
fillData
.
volume
}
m³
${
fillData
.
quantity
}${
this
.
$t
(
'
个
'
)}
`
return
summary
}
}
}
</
script
>
<
template
>
<div>
<el-table
:data=
"list"
border
show-summary
:summary-method=
"getProdSummary"
style=
"width: 100%"
>
<el-table-column
:label=
"$t('序号')"
width=
"90px"
>
<template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"prodTitleZh"
:label=
"$t('品名')"
>
<
template
slot-scope=
"{row}"
>
<span>
{{
getProdTypeName
(
row
.
prodType
)
}}
</span>
<span>
{{
row
.
prodTitleZh
}}
/
{{
row
.
prodTitleEn
}}
</span>
</
template
>
</el-table-column>
<!--<el-table-column prop="prodTitleEn" :label="$t('品名')" />-->
<el-table-column
prop=
"brand"
:label=
"$t('品牌')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.brandName"
>
{{
row
.
brandName
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"row.brandType"
/>
</template>
</el-table-column>
<el-table-column
prop=
"brand"
:label=
"$t('特性')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
{{
showAttrText
(
row
.
warehouseInInfoVO
?
row
.
warehouseInProdAttrIds
:
row
.
prodAttrIds
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"sumNum"
:label=
"$t('入仓信息')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
<!--
<el-link
type=
"primary"
@
click.native=
"showWarehouseLogs(row,1)"
>
{{
row
.
warehouseInInfoVO
?
row
.
warehouseInInfoVO
.
cartonsNum
:
0
}}
</el-link>
<div
v-if=
"row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification"
>
(
{{
$t
(
'
多规格
'
)
}}
)
</div>
-->
<div
v-if=
"row.warehouseInInfoVO"
>
{{
row
.
warehouseInInfoVO
.
cartonsNum
}}{{
$t
(
'
箱
'
)
}}
{{
row
.
warehouseInInfoVO
.
weight
}}
Kg
{{
row
.
warehouseInInfoVO
.
volume
}}
m³
{{
row
.
warehouseInInfoVO
.
quantityAll
}}{{
$t
(
'
个
'
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"warehouseType"
:label=
"$t('类型')"
width=
"120px"
/>
<el-table-column
prop=
"specificationType"
:label=
"$t('包装')"
width=
"120px"
/>
<el-table-column
prop=
"worth"
:label=
"$t('货值')"
width=
"120px"
/>
<el-table-column
prop=
"warehouseRecordRemark"
:label=
"$t('入仓备注')"
width=
"120px"
/>
<el-table-column
prop=
"warehouseInInfoVO.expressNo"
:label=
"$t('快递单号')"
/>
<el-table-column
prop=
"sumNum"
:label=
"$t('收费数据')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
<div
v-if=
"row.warehouseInInfoVO"
>
{{
row
.
chargeWeight
}}
Kg
{{
row
.
chargeVolume
}}
m³
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"`${$t('费用类型')}/${$t('模式')}`"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PAY_ADVANCE"
:value=
"row.isPayAdvance"
/>
<div
v-if=
"row.charging ==0"
>
{{
$t
(
'
运费/清关费
'
)
}}
</div>
<div
v-if=
"row.charging ==1"
>
{{
$t
(
'
全包价
'
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('成交单价')"
width=
"220px"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.charging ==1"
>
<template
v-if=
"!row.originalSeaFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'clearance')"
v-else
>
{{$t('全包价')}} {{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</el-link>
</template>
<
template
v-else-if=
"!row.originalSeaFreight && !row.originalClearanceFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else
>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'freight')"
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</el-link>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'clearance')"
>
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</el-link
>
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('材质')"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
:value=
"row.material"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('用途')"
>
<
template
slot-scope=
"{row}"
>
<div
v-if=
"row.usageIds"
>
<div
v-for=
"(item,index) in row.usageIds.split(',')"
>
<dict-tag
:type=
"DICT_TYPE.OREER_ITEM_USAGE"
:value=
"item"
/>
<span
v-if=
"(index+1)!=row.usageIds.split(',').length"
>
,
</span>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('储位')"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.warehouseInInfoVO"
>
{{
getLocationName
(
row
.
warehouseInInfoVO
.
orderLocationMergeVOSet
)
}}
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('商品链接')"
>
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.link"
>
<a
target=
"_blank"
:url=
"row.link"
>
{{
row
.
link
}}
</a>
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"sumNum"
:label=
"$t('填单信息')"
width=
"90px"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
num
}}{{
$t
(
'
箱
'
)
}}
{{
row
.
weight
}}
Kg
{{
row
.
volume
}}
m³
{{
row
.
quantity
}}{{
$t
(
'
个
'
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"expressNo"
:label=
"$t('填单快递单号')"
/>
</el-table>
<el-dialog
:title=
"$t('费用详情')"
:visible=
"!!showFeeDetailDialog"
:before-close=
"closeFeeDetail"
>
<el-row
v-if=
"feeDetail"
>
<el-col
:span=
"12"
>
<div>
{{feeDetail.charging ? $t('全包价') : $t('运费')}}
</div>
<div
v-for=
"item in feeDetail.freight"
>
{{item.label}}: {{item.value}}
<
template
v-if=
"item.currency"
>
{{
currencyMap
[
item
.
currency
]
}}
/
{{
unitMap
[
item
.
volume
]
}}
<span
v-if=
"item.remark"
>
【
{{
item
.
remark
}}
】
</span>
</
template
>
</div>
</el-col>
<el-col
:span=
"12"
v-if=
"feeDetail.charging != 1"
>
<div>
{{$t('清关费')}}
<
template
v-if=
"transportId == 3 || transportId == 4"
>
{{
$t
(
'
来自{source
}
'
,
{
source
:
feeDetail
.
airClearanceSource
+
feeDetail
.
sourceName
}
)
}}
<
/template
>
<
/div
>
<
div
v
-
for
=
"
item in feeDetail.clearance
"
>
{{
item
.
label
}}
:
{{
item
.
value
}}
<
template
v
-
if
=
"
item.currency
"
>
{{
currencyMap
[
item
.
currency
]
}}
/
{{
unitMap
[
item
.
volume
]
}}
<
span
v
-
if
=
"
item.remark
"
>
【
{{
item
.
remark
}}
】
<
/span
>
<
/template
>
<
/div
>
<
/el-col
>
<
/el-row
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
{{
$t
(
'
优惠详情
'
)
}}
<
/div
>
<
el
-
table
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
:
data
=
"
feeDetail.coupons
"
>
<
el
-
table
-
column
label
=
"
优惠ID
"
prop
=
"
couponId
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
优惠名称
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
$l
(
row
,
'
title
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
类型
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_COUPON_TYPE
"
:
value
=
"
row.type
"
><
/dict-tag
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
运费优惠
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
freightReduceAmount
}}
{{
currencyMap
[
row
.
freightReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
清关费优惠
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
clearanceReduceAmount
}}
{{
currencyMap
[
row
.
clearanceReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
/el-dialog
>
<
/div
>
<
/template
>
src/views/ecw/order/components/DetailProd.vue
View file @
5d010348
<
script
>
import
Decimal
from
'
decimal.js
'
import
{
parseTime
}
from
'
@/utils/ruoyi
'
export
default
{
name
:
'
DetailProd
'
,
props
:
{
...
...
@@ -11,6 +12,10 @@ export default {
type
:
Array
,
required
:
true
},
prodTypeList
:
{
type
:
Array
,
required
:
true
},
currencyMap
:
{
type
:
Object
,
required
:
true
...
...
@@ -19,8 +24,28 @@ export default {
type
:
Object
,
required
:
true
},
transportId
:
{
type
:
Number
,
required
:
false
},
},
data
(){
return
{
feeDetail
:
null
,
showFeeDetailDialog
:
false
}
},
computed
:{
getProdTypeName
()
{
return
(
prodType
)
=>
{
for
(
let
index
in
this
.
prodTypeList
)
{
let
prodTypeItem
=
this
.
prodTypeList
[
index
];
if
(
prodTypeItem
.
id
==
prodType
)
{
return
this
.
$l
(
prodTypeItem
,
"
title
"
);
}
}
};
},
// 显示特性
showAttrText
(){
return
ids
=>
{
...
...
@@ -35,6 +60,119 @@ export default {
},
},
methods
:{
closeFeeDetail
(){
this
.
showFeeDetailDialog
=
null
},
showFeeDetail
(
row
,
type
){
console
.
log
(
"
showFeeDetail
"
,
row
,
type
)
this
.
showFeeDetailDialog
=
true
const
freight
=
[],
clearance
=
[]
let
freightFields
=
[]
let
clearanceFields
=
[]
const
brandType
=
row
.
warehouseInInfoVO
?
row
.
feeType
:
row
.
brandType
// 不是特价则显示其他字段
freightFields
=
[
// {field: 'oneSeaFreight', label: this.$t('成交单价')},
{
field
:
'
originalSeaFreight
'
,
label
:
this
.
$t
(
'
默认单价(无牌无液无电)
'
)},
// {field: 'brandFreightPrice', label: this.$t('品牌加价')},
{
field
:
'
liquidFreightPrice
'
,
label
:
this
.
$t
(
'
液体加价
'
)},
{
field
:
'
electrifiedFreightPrice
'
,
label
:
this
.
$t
(
'
带电加价
'
)},
{
field
:
'
discountFreightPrice
'
,
label
:
this
.
$t
(
'
优惠活动减免
'
)},
{
field
:
'
plainCommission
'
,
label
:
this
.
$t
(
'
明佣
'
)},
{
field
:
'
hiddenCommission
'
,
label
:
this
.
$t
(
'
暗佣
'
)}
]
// 批量加价
if
(
row
.
markupSeaFreight
){
freightFields
.
push
({
field
:
'
markupSeaFreight
'
,
label
:
this
.
$t
(
'
批量加价
'
)})
}
// 品牌加价
if
(
row
[
'
brandFreightPrice
'
]
&&
row
[
'
brandFreightPrice
'
]
>
0
){
freightFields
.
push
({
field
:
'
brandFreightPrice
'
,
label
:
brandType
==
1
?
this
.
$t
(
'
有品牌加价
'
)
:
this
.
$t
(
'
中性品牌加价
'
)})
}
// 有减免金额才显示优惠后单价
if
(
row
[
'
discountFreightPrice
'
]
&&
row
[
'
discountFreightPrice
'
]
>
0
){
freightFields
.
push
({
field
:
'
afterDiscountSeaFreight
'
,
label
:
this
.
$t
(
'
优惠后单价
'
)})
}
// 包装加价
if
(
row
[
'
packagingFreightPrice
'
]
&&
row
[
'
packagingFreightPrice
'
]
>
0
){
freightFields
.
push
({
field
:
'
packagingFreightPrice
'
,
label
:
this
.
$t
(
'
包装加价
'
)})
}
freightFields
.
push
({
field
:
'
oneSeaFreight
'
,
label
:
this
.
$t
(
'
成交单价
'
)})
console
.
log
({
freightFields
})
freightFields
.
forEach
(
item
=>
{
if
(
row
[
item
.
field
]){
freight
.
push
({
label
:
item
.
label
,
value
:
row
[
item
.
field
],
currency
:
row
.
seaFreightCurrency
,
volume
:
row
.
seaFreightVolume
,
// 特价通过四个字段标识,任一为true则为特价
remark
:
item
.
field
==
'
oneSeaFreight
'
&&
(
row
.
specialPriceType
||
row
.
splitCustomPriceType
||
row
.
channelManualPricing
)
?
this
.
$t
(
'
特价
'
)
:
null
})
}
})
clearanceFields
=
[
{
field
:
'
originalClearanceFreight
'
,
label
:
this
.
$t
(
'
默认单价(无牌无液无电)
'
)},
// {field: 'brandClearanceFeePrice', label: this.$t('品牌加价')},
{
field
:
'
liquidClearanceFeePrice
'
,
label
:
this
.
$t
(
'
液体加价
'
)},
{
field
:
'
electrifiedClearanceFeePrice
'
,
label
:
this
.
$t
(
'
带电加价
'
)},
{
field
:
'
discountClearanceFeePrice
'
,
label
:
this
.
$t
(
'
优惠活动减免
'
)}
]
// 批量加价
if
(
row
.
markupClearanceFreight
){
clearanceFields
.
push
({
field
:
'
markupClearanceFreight
'
,
label
:
this
.
$t
(
'
批量加价
'
)})
}
// 品牌加价
if
(
row
[
'
brandClearanceFeePrice
'
]
&&
row
[
'
brandClearanceFeePrice
'
]
>
0
){
clearanceFields
.
push
({
field
:
'
brandClearanceFeePrice
'
,
label
:
brandType
==
1
?
this
.
$t
(
'
有品牌加价
'
)
:
this
.
$t
(
'
中性品牌加价
'
)})
}
if
(
row
[
'
discountClearanceFeePrice
'
]
&&
row
[
'
discountClearanceFeePrice
'
]
>
0
){
clearanceFields
.
push
({
field
:
'
afterDiscountClearanceFreight
'
,
label
:
this
.
$t
(
'
优惠后单价
'
)})
}
// 包装加价
if
(
row
[
'
packagingClearanceFeePrice
'
]
&&
row
[
'
packagingClearanceFeePrice
'
]
>
0
){
clearanceFields
.
push
({
field
:
'
packagingClearanceFeePrice
'
,
label
:
this
.
$t
(
'
包装加价
'
)})
}
clearanceFields
.
push
({
field
:
'
oneClearanceFreight
'
,
label
:
this
.
$t
(
'
成交单价
'
)})
clearanceFields
.
forEach
(
item
=>
{
if
(
row
[
item
.
field
]){
clearance
.
push
({
label
:
item
.
label
,
value
:
row
[
item
.
field
],
currency
:
row
.
clearanceFreightCurrency
,
volume
:
row
.
clearanceFreightVolume
,
remark
:
(
row
.
specialPriceType
||
row
.
splitCustomPriceType
||
row
.
channelManualPricing
)
&&
item
.
field
==
'
oneClearanceFreight
'
?
this
.
$t
(
'
特价
'
)
:
null
})
}
})
freight
.
push
({
label
:
this
.
$t
(
'
价格更新时间
'
),
value
:
parseTime
(
row
.
updateTime
)
})
clearance
.
push
({
label
:
this
.
$t
(
'
价格更新时间
'
),
value
:
parseTime
(
row
.
updateTime
)
})
this
.
feeDetail
=
{
freight
,
clearance
,
charging
:
row
.
charging
,
coupons
:
row
.
couponInfoVOList
,
airClearanceSource
:
[,
this
.
$t
(
'
商品
'
),
this
.
$t
(
'
渠道
'
),
this
.
$t
(
'
商品线路价格
'
),
this
.
$t
(
'
线路渠道
'
)][
row
.
airClearanceSource
],
// 1 商品 2 渠道 3 商品线路价格 4 线路渠道
airClearanceInfo
:
JSON
.
parse
(
row
.
airClearanceInfo
),
//空运清关费来源数据详情,
sourceName
:
row
.
airClearanceSource
==
1
?
this
.
$l
(
row
,
'
prodTitle
'
)
:
this
.
order
?.
channelName
}
},
// 获取储位名称
getLocationName
(
locationArr
){
if
(
!
locationArr
||
!
locationArr
.
length
)
return
''
...
...
@@ -100,6 +238,7 @@ export default {
</
script
>
<
template
>
<div>
<el-table
:data=
"list"
border
...
...
@@ -111,7 +250,8 @@ export default {
</el-table-column>
<el-table-column
prop=
"prodTitleZh"
:label=
"$t('品名')"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
prodTitleZh
}}
/
{{
row
.
prodTitleEn
}}
<span>
{{
getProdTypeName
(
row
.
prodType
)
}}
</span>
<span>
{{
row
.
prodTitleZh
}}
/
{{
row
.
prodTitleEn
}}
</span>
</
template
>
</el-table-column>
<!--<el-table-column prop="prodTitleEn" :label="$t('品名')" />-->
...
...
@@ -215,5 +355,60 @@ export default {
</el-table-column>
<el-table-column
prop=
"expressNo"
:label=
"$t('填单快递单号')"
/>
</el-table>
<el-dialog
:title=
"$t('费用详情')"
:visible=
"!!showFeeDetailDialog"
:before-close=
"closeFeeDetail"
>
<el-row
v-if=
"feeDetail"
>
<el-col
:span=
"12"
>
<div>
{{feeDetail.charging ? $t('全包价') : $t('运费')}}
</div>
<div
v-for=
"item in feeDetail.freight"
>
{{item.label}}: {{item.value}}
<
template
v-if=
"item.currency"
>
{{
currencyMap
[
item
.
currency
]
}}
/
{{
unitMap
[
item
.
volume
]
}}
<span
v-if=
"item.remark"
>
【
{{
item
.
remark
}}
】
</span>
</
template
>
</div>
</el-col>
<el-col
:span=
"12"
v-if=
"feeDetail.charging != 1"
>
<div>
{{$t('清关费')}}
<
template
v-if=
"transportId == 3 || transportId == 4"
>
{{
$t
(
'
来自{source
}
'
,
{
source
:
feeDetail
.
airClearanceSource
+
feeDetail
.
sourceName
}
)
}}
<
/template
>
<
/div
>
<
div
v
-
for
=
"
item in feeDetail.clearance
"
>
{{
item
.
label
}}
:
{{
item
.
value
}}
<
template
v
-
if
=
"
item.currency
"
>
{{
currencyMap
[
item
.
currency
]
}}
/
{{
unitMap
[
item
.
volume
]
}}
<
span
v
-
if
=
"
item.remark
"
>
【
{{
item
.
remark
}}
】
<
/span
>
<
/template
>
<
/div
>
<
/el-col
>
<
/el-row
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
{{
$t
(
'
优惠详情
'
)
}}
<
/div
>
<
el
-
table
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
:
data
=
"
feeDetail.coupons
"
>
<
el
-
table
-
column
label
=
"
优惠ID
"
prop
=
"
couponId
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
优惠名称
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
$l
(
row
,
'
title
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
类型
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_COUPON_TYPE
"
:
value
=
"
row.type
"
><
/dict-tag
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
运费优惠
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
freightReduceAmount
}}
{{
currencyMap
[
row
.
freightReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
清关费优惠
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
clearanceReduceAmount
}}
{{
currencyMap
[
row
.
clearanceReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
/el-dialog
>
<
/div
>
<
/template
>
src/views/ecw/order/detail.vue
View file @
5d010348
...
...
@@ -144,7 +144,10 @@
{{order.packageRemarks}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('到仓数据')"
>
// TODO
{{order.checkNum}}{{$t('箱')}}
{{order.checkWeight}}Kg
{{order.checkVolume}}m³
{{order.checkQuantity}}{{$t('个')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('提货数据')"
>
{{order.pickNum}} {{$t('箱')}} {{order.pickRatio}}%
...
...
@@ -219,16 +222,20 @@
<el-tab-pane
:label=
"$t('货物详情')"
name=
"first"
>
<detail-prod
:list=
"order.orderItemVOList"
:attr-list=
"attrList"
:prod-type-list=
"prodTypeList"
:currency-map=
"currencyMap"
:unit-map=
"unitMap"
:transport-id=
"order.transportId"
></detail-prod>
</el-tab-pane>
<!--退参品名 退仓/已混箱品名 lanbm 2024-04-16 按客户的要求修改-->
<el-tab-pane
:label=
"$t('退仓/已混箱品名')"
name=
"six"
>
<detail-prod
:list=
"orderItemDeletedData"
:attr-list=
"attrList"
:prod-type-list=
"prodTypeList"
:currency-map=
"currencyMap"
:unit-map=
"unitMap"
:transport-id=
"order.transportId"
></detail-prod>
</el-tab-pane>
<!--lanbm 2024-06-11 处理订单到仓时间取值问题-->
...
...
@@ -318,6 +325,15 @@
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane
:label=
"$t('到仓详情')"
name=
"seven"
>
<check-detail-prod
:list=
"orderCheckInfoData"
:attr-list=
"attrList"
:prod-type-list=
"prodTypeList"
:currency-map=
"currencyMap"
:unit-map=
"unitMap"
:transport-id=
"order.transportId"
></check-detail-prod>
</el-tab-pane>
<!-- 这个地方v-hasPermi不生效,所以换checkPermi函数检查 -->
<el-tab-pane
:label=
"$t('操作日志')"
name=
"five"
v-if=
"checkPermi(['ecw:order:logs'])"
>
<el-table
:data=
"logs"
v-loading=
"logsLoading"
>
...
...
@@ -374,61 +390,6 @@
<
/el-table
>
<
/el-dialog
>
<
el
-
dialog
:
title
=
"
$t('费用详情')
"
:
visible
=
"
!!showFeeDetailDialog
"
:
before
-
close
=
"
closeFeeDetail
"
>
<
el
-
row
v
-
if
=
"
feeDetail
"
>
<
el
-
col
:
span
=
"
12
"
>
<
div
>
{{
feeDetail
.
charging
?
$t
(
'
全包价
'
)
:
$t
(
'
运费
'
)
}}
<
/div
>
<
div
v
-
for
=
"
item in feeDetail.freight
"
>
{{
item
.
label
}}
:
{{
item
.
value
}}
<
template
v
-
if
=
"
item.currency
"
>
{{
currencyMap
[
item
.
currency
]
}}
/
{{
unitMap
[
item
.
volume
]
}}
<
span
v
-
if
=
"
item.remark
"
>
【
{{
item
.
remark
}}
】
<
/span
>
<
/template
>
<
/div
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
v
-
if
=
"
feeDetail.charging != 1
"
>
<
div
>
{{
$t
(
'
清关费
'
)
}}
<
template
v
-
if
=
"
order.transportId == 3 || order.transportId == 4
"
>
{{
$t
(
'
来自{source
}
'
,
{
source
:
feeDetail
.
airClearanceSource
+
feeDetail
.
sourceName
}
)
}}
<
/template
>
<
/div
>
<
div
v
-
for
=
"
item in feeDetail.clearance
"
>
{{
item
.
label
}}
:
{{
item
.
value
}}
<
template
v
-
if
=
"
item.currency
"
>
{{
currencyMap
[
item
.
currency
]
}}
/
{{
unitMap
[
item
.
volume
]
}}
<
span
v
-
if
=
"
item.remark
"
>
【
{{
item
.
remark
}}
】
<
/span
>
<
/template
>
<
/div
>
<
/el-col
>
<
/el-row
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
{{
$t
(
'
优惠详情
'
)
}}
<
/div
>
<
el
-
table
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
:
data
=
"
feeDetail.coupons
"
>
<
el
-
table
-
column
label
=
"
优惠ID
"
prop
=
"
couponId
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
优惠名称
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
$l
(
row
,
'
title
'
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
类型
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_COUPON_TYPE
"
:
value
=
"
row.type
"
><
/dict-tag
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
运费优惠
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
freightReduceAmount
}}
{{
currencyMap
[
row
.
freightReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
清关费优惠
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
{{
row
.
clearanceReduceAmount
}}
{{
currencyMap
[
row
.
clearanceReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
/el-dialog
>
<!--
日志详情
-->
<
operate
-
log
-
detail
v
-
if
=
"
showLogDetailId
"
:
log
-
id
=
"
showLogDetailId
"
@
close
=
"
showLogDetailId=null
"
><
/operate-log-detail
>
<!--
打包历史
-->
...
...
@@ -449,7 +410,7 @@
<
/template
>
<
script
>
import
{
getOrder
,
operateLogPage
,
getOrderItemDeleted
}
from
'
@/api/ecw/order
'
import
{
getOrder
,
operateLogPage
,
getOrderItemDeleted
,
getOrderCheckInfo
}
from
'
@/api/ecw/order
'
import
{
getDictDatas
,
DICT_TYPE
,
getDictData
}
from
'
@/utils/dict
'
;
import
PrintWarehouseReceipt
from
'
./components/PrintWarehouseReceipt
'
import
PrintLadingBill
from
'
./components/PrintLadingBill
'
...
...
@@ -473,11 +434,14 @@ import {getSupplier} from "@/api/ecw/supplier";
import
{
getProductAttrList
}
from
"
@/api/ecw/productAttr
"
;
import
Decimal
from
'
decimal.js
'
import
DetailProd
from
'
@/views/ecw/order/components/DetailProd.vue
'
import
CheckDetailProd
from
'
@/views/ecw/order/components/CheckDetailProd.vue
'
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
;
export
default
{
name
:
"
detail
"
,
components
:
{
DetailProd
,
CheckDetailProd
,
ImageDisplay
,
OperateLogDetail
,
PrintWarehouseReceipt
,
PrintLadingBill
,
...
...
@@ -518,8 +482,8 @@ export default {
region
:
''
,
orderWarehouseIn
:
null
,
// 入仓详情
showWarehouseInItemId
:
null
,
// 当前显示的入仓
showFeeDetailDialog
:
null
,
// 是否显示费用详情弹层
feeDetail
:
null
,
// 费用详情
/*
showFeeDetailDialog: null, // 是否显示费用详情弹层
feeDetail: null, // 费用详情
*/
logsLoading
:
false
,
// 日志加载中
logs
:
[],
// 操作日志
activeNames
:
[],
//显示隐藏订单基本信息
...
...
@@ -533,6 +497,8 @@ export default {
packAfterData
:
null
,
//显示打包历史详情
attrList
:
[],
orderItemDeletedData
:[],
//退仓品名
orderCheckInfoData
:[],
//到仓详情
prodTypeList
:[],
//商品类型列表
type
:
1
}
}
,
...
...
@@ -613,6 +579,8 @@ export default {
this
.
getOrder
();
this
.
getOfferNumber
()
this
.
getOrderItemDeleted
()
this
.
getOrderCheckInfo
()
this
.
getProdTypeList
();
}
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
...
...
@@ -624,6 +592,9 @@ export default {
}
,
methods
:
{
checkPermi
,
// 检查权限,
handleTest
(
e
){
console
.
log
(
"
handleTest
"
,
e
)
}
,
//订单信息显示更多
handleChange
(
val
){
this
.
showText
=
val
.
length
>
0
?
this
.
$t
(
'
隐藏
'
)
:
this
.
$t
(
'
显示更多
'
)
...
...
@@ -638,119 +609,7 @@ export default {
this
.
showMore
=
!
this
.
showMore
;
this
.
consigneeText
=
this
.
showMore
?
this
.
$t
(
'
隐藏
'
)
:
this
.
$t
(
'
更多
'
)
}
,
// 显示费用详情
showFeeDetail
(
row
,
type
){
this
.
showFeeDetailDialog
=
true
const
freight
=
[],
clearance
=
[]
let
freightFields
=
[]
let
clearanceFields
=
[]
const
brandType
=
row
.
warehouseInInfoVO
?
row
.
feeType
:
row
.
brandType
// 不是特价则显示其他字段
freightFields
=
[
//
{
field
:
'
oneSeaFreight
'
,
label
:
this
.
$t
(
'
成交单价
'
)
}
,
{
field
:
'
originalSeaFreight
'
,
label
:
this
.
$t
(
'
默认单价(无牌无液无电)
'
)
}
,
//
{
field
:
'
brandFreightPrice
'
,
label
:
this
.
$t
(
'
品牌加价
'
)
}
,
{
field
:
'
liquidFreightPrice
'
,
label
:
this
.
$t
(
'
液体加价
'
)
}
,
{
field
:
'
electrifiedFreightPrice
'
,
label
:
this
.
$t
(
'
带电加价
'
)
}
,
{
field
:
'
discountFreightPrice
'
,
label
:
this
.
$t
(
'
优惠活动减免
'
)
}
,
{
field
:
'
plainCommission
'
,
label
:
this
.
$t
(
'
明佣
'
)
}
,
{
field
:
'
hiddenCommission
'
,
label
:
this
.
$t
(
'
暗佣
'
)
}
]
// 批量加价
if
(
row
.
markupSeaFreight
){
freightFields
.
push
({
field
:
'
markupSeaFreight
'
,
label
:
this
.
$t
(
'
批量加价
'
)
}
)
}
// 品牌加价
if
(
row
[
'
brandFreightPrice
'
]
&&
row
[
'
brandFreightPrice
'
]
>
0
){
freightFields
.
push
({
field
:
'
brandFreightPrice
'
,
label
:
brandType
==
1
?
this
.
$t
(
'
有品牌加价
'
)
:
this
.
$t
(
'
中性品牌加价
'
)
}
)
}
// 有减免金额才显示优惠后单价
if
(
row
[
'
discountFreightPrice
'
]
&&
row
[
'
discountFreightPrice
'
]
>
0
){
freightFields
.
push
({
field
:
'
afterDiscountSeaFreight
'
,
label
:
this
.
$t
(
'
优惠后单价
'
)
}
)
}
// 包装加价
if
(
row
[
'
packagingFreightPrice
'
]
&&
row
[
'
packagingFreightPrice
'
]
>
0
){
freightFields
.
push
({
field
:
'
packagingFreightPrice
'
,
label
:
this
.
$t
(
'
包装加价
'
)
}
)
}
freightFields
.
push
({
field
:
'
oneSeaFreight
'
,
label
:
this
.
$t
(
'
成交单价
'
)
}
)
console
.
log
({
freightFields
}
)
freightFields
.
forEach
(
item
=>
{
if
(
row
[
item
.
field
]){
freight
.
push
({
label
:
item
.
label
,
value
:
row
[
item
.
field
],
currency
:
row
.
seaFreightCurrency
,
volume
:
row
.
seaFreightVolume
,
// 特价通过四个字段标识,任一为true则为特价
remark
:
item
.
field
==
'
oneSeaFreight
'
&&
(
row
.
specialPriceType
||
row
.
splitCustomPriceType
||
row
.
channelManualPricing
)
?
this
.
$t
(
'
特价
'
)
:
null
}
)
}
}
)
clearanceFields
=
[
{
field
:
'
originalClearanceFreight
'
,
label
:
this
.
$t
(
'
默认单价(无牌无液无电)
'
)
}
,
//
{
field
:
'
brandClearanceFeePrice
'
,
label
:
this
.
$t
(
'
品牌加价
'
)
}
,
{
field
:
'
liquidClearanceFeePrice
'
,
label
:
this
.
$t
(
'
液体加价
'
)
}
,
{
field
:
'
electrifiedClearanceFeePrice
'
,
label
:
this
.
$t
(
'
带电加价
'
)
}
,
{
field
:
'
discountClearanceFeePrice
'
,
label
:
this
.
$t
(
'
优惠活动减免
'
)
}
]
// 批量加价
if
(
row
.
markupClearanceFreight
){
clearanceFields
.
push
({
field
:
'
markupClearanceFreight
'
,
label
:
this
.
$t
(
'
批量加价
'
)
}
)
}
// 品牌加价
if
(
row
[
'
brandClearanceFeePrice
'
]
&&
row
[
'
brandClearanceFeePrice
'
]
>
0
){
clearanceFields
.
push
({
field
:
'
brandClearanceFeePrice
'
,
label
:
brandType
==
1
?
this
.
$t
(
'
有品牌加价
'
)
:
this
.
$t
(
'
中性品牌加价
'
)
}
)
}
if
(
row
[
'
discountClearanceFeePrice
'
]
&&
row
[
'
discountClearanceFeePrice
'
]
>
0
){
clearanceFields
.
push
({
field
:
'
afterDiscountClearanceFreight
'
,
label
:
this
.
$t
(
'
优惠后单价
'
)
}
)
}
// 包装加价
if
(
row
[
'
packagingClearanceFeePrice
'
]
&&
row
[
'
packagingClearanceFeePrice
'
]
>
0
){
clearanceFields
.
push
({
field
:
'
packagingClearanceFeePrice
'
,
label
:
this
.
$t
(
'
包装加价
'
)
}
)
}
clearanceFields
.
push
({
field
:
'
oneClearanceFreight
'
,
label
:
this
.
$t
(
'
成交单价
'
)
}
)
clearanceFields
.
forEach
(
item
=>
{
if
(
row
[
item
.
field
]){
clearance
.
push
({
label
:
item
.
label
,
value
:
row
[
item
.
field
],
currency
:
row
.
clearanceFreightCurrency
,
volume
:
row
.
clearanceFreightVolume
,
remark
:
(
row
.
specialPriceType
||
row
.
splitCustomPriceType
||
row
.
channelManualPricing
)
&&
item
.
field
==
'
oneClearanceFreight
'
?
this
.
$t
(
'
特价
'
)
:
null
}
)
}
}
)
freight
.
push
({
label
:
this
.
$t
(
'
价格更新时间
'
),
value
:
parseTime
(
row
.
updateTime
)
}
)
clearance
.
push
({
label
:
this
.
$t
(
'
价格更新时间
'
),
value
:
parseTime
(
row
.
updateTime
)
}
)
this
.
feeDetail
=
{
freight
,
clearance
,
charging
:
row
.
charging
,
coupons
:
row
.
couponInfoVOList
,
airClearanceSource
:
[,
this
.
$t
(
'
商品
'
),
this
.
$t
(
'
渠道
'
),
this
.
$t
(
'
商品线路价格
'
),
this
.
$t
(
'
线路渠道
'
)][
row
.
airClearanceSource
],
// 1 商品 2 渠道 3 商品线路价格 4 线路渠道
airClearanceInfo
:
JSON
.
parse
(
row
.
airClearanceInfo
),
//空运清关费来源数据详情,
sourceName
:
row
.
airClearanceSource
==
1
?
this
.
$l
(
row
,
'
prodTitle
'
)
:
this
.
order
?.
channelName
}
}
,
closeFeeDetail
(){
this
.
showFeeDetailDialog
=
null
}
,
/** 查询列表 */
getOrder
()
{
let
that
=
this
...
...
@@ -769,6 +628,19 @@ export default {
that
.
orderItemDeletedData
=
response
.
data
;
}
);
}
,
getOrderCheckInfo
(){
let
that
=
this
// 执行查询
getOrderCheckInfo
(
that
.
orderId
).
then
(
response
=>
{
that
.
orderCheckInfoData
=
response
.
data
;
}
);
}
,
/** 获取产品类型列表 */
getProdTypeList
()
{
getProductTypeList
().
then
((
response
)
=>
{
this
.
prodTypeList
=
response
.
data
;
}
);
}
,
/* loadBrands(){
let brandIds = []
this.form.orderItemVOList.forEach(item => {
...
...
src/views/ecw/order/edit.vue
View file @
5d010348
...
...
@@ -707,7 +707,7 @@ import Template from '@/views/cms/template/index.vue'
let
makeDefaultFormData
=
()
=>
{
return
{
destCountryId
:
null
,
li
en
Id
:
null
,
li
ne
Id
:
null
,
objectiveId
:
null
,
departureId
:
null
,
status
:
0
,
...
...
src/views/ecw/order/index.vue
View file @
5d010348
...
...
@@ -289,7 +289,9 @@
<el-table-column
:label=
"$t('发货人客服')"
align=
"center"
prop=
"consignorFollowCustomerService"
/>
<el-table-column
:label=
"$t('收货人客服')"
align=
"center"
prop=
"consigneeFollowCustomerService"
/>
<el-table-column
:label=
"$t('到仓箱数/方数重量')"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
暂无数据
</
template
>
<
template
slot-scope=
"{ row }"
>
{{
row
.
checkNum
}}{{
$t
(
"
箱
"
)
}}
/
{{
row
.
checkVolume
}}
m³ /
{{
row
.
checkWeight
}}
Kg
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('提货率')"
align=
"center"
prop=
"pickRatio"
/>
<el-table-column
:label=
"$t('动态')"
align=
"center"
prop=
"statusMsg"
/>
...
...
@@ -1000,6 +1002,7 @@ export default {
if
(
type
.
indexOf
(
"
2
"
)
>
-
1
)
{
arr
.
push
(
this
.
$t
(
"
海外仓
"
))
}
return
arr
.
join
(
"
,
"
)
}
}
},
...
...
src/views/ecw/product/index.vue
View file @
5d010348
...
...
@@ -29,13 +29,31 @@
/>
</el-form-item>
<el-form-item
:label=
"$t('商品名称')"
prop=
"titleZh"
>
<
!--
<
el-form-item
:label=
"$t('商品名称')"
prop=
"titleZh"
>
<el-input
v-model=
"queryParams.titleZh"
:placeholder=
"$t('请输入商品名称')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
-->
<el-form-item
:label=
"$t('商品名称')"
prop=
"titleZh"
>
<el-input
v-model.trim=
"titleZhParam.value"
:placeholder=
"$t('请输入商品名称')"
clearable
@
keyup.enter.native=
"handleQuery"
>
<template
slot=
"prepend"
>
<dict-selector
:type=
"DICT_TYPE.PROD_QUERY_TITLE_ZH_FIELD"
defaultable
v-model=
"titleZhParam.key"
class=
"w-50"
/>
</
template
>
</el-input>
</el-form-item>
<el-form-item
:label=
"$t('商品类型')"
prop=
"attrId"
>
...
...
@@ -72,18 +90,71 @@
</el-select>
</el-form-item>
<!--
<el-form-item
:label=
"$t('审核状态')"
prop=
"auditStatus"
>
<el-form-item
:label=
"$t('商品材质')"
prop=
"materialTypes"
>
<dict-selector
multiple
clearable
v-model=
"queryParams.materialTypes"
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
></dict-selector>
</el-form-item>
<el-form-item
:label=
"$t('审核状态')"
prop=
"auditStatus"
>
<el-select
v-model=
"queryParams.auditStatus"
:placeholder=
"$t('选择审核状态')"
clearable
>
<el-option
v-for=
"auditStatusItem in auditStatusDictDatas"
:key=
"auditStatusItem.id"
:label=
"auditStatusItem.label"
:value=
"auditStatusItem.value"
/>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('包装要求')"
prop=
"packaging"
>
<dict-selector
clearable
v-model=
"queryParams.packaging"
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
></dict-selector>
</el-form-item>
<!--
<el-form-item :label="$t('上架状态')" prop="status">
<el-select v-model="queryParams.status" :placeholder="$t('选择上架状态')" clearable>
<el-option v-for="statusItem in statusDictDatas" :key="statusItem.id" :label="statusItem.value == CommonStatusEnum.ENABLE ? '已上架' : '已下架'" :value="statusItem.value" />
</el-select>
</el-form-item> -->
<el-form-item
:label=
"$t('创建时间')"
>
<el-date-picker
v-model=
"dateRangeCreateTime"
type=
"datetimerange"
:start-placeholder=
"$t('开始日期')"
value-format=
"yyyy-MM-dd HH:mm:ss"
:end-placeholder=
"$t('结束日期')"
>
</el-date-picker>
</el-form-item>
<!-- <el-form-item :label="$t('创建时间')" v-show="showSearch">
<el-date-picker
type="datetimerange"
clearable
v-model="dateRangeCreateTime"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
range-separator="-"
:start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"
/>
</el-form-item> -->
<el-form-item
:label=
"$t('创建人')"
prop=
"creator"
>
<el-input
v-model.trim=
"queryParams.creator"
:placeholder=
"$t('请输入创建人')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t("搜索")
...
...
@@ -159,12 +230,25 @@
/>
<el-table-column
:label=
"$t('中文标题')"
align=
"center"
prop=
"titleZh"
/>
<el-table-column
:label=
"$t('英文标题')"
align=
"center"
prop=
"titleEn"
/>
<el-table-column
:label=
"$t('商品
属
性')"
align=
"center"
prop=
"attrId"
>
<el-table-column
:label=
"$t('商品
特
性')"
align=
"center"
prop=
"attrId"
>
<
template
slot-scope=
"scope"
>
<span>
{{
getAttrName
(
scope
.
row
.
attrId
)
}}
</span>
</
template
>
</el-table-column>
<!--商品特性-->
<el-table-column
:label=
"$t('商品材质')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
:value=
"scope.row.materialType"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('包装要求')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PACKAGING_TYPE"
:value=
"scope.row.packaging"
/>
</
template
>
</el-table-column>
<!---->
<el-table-column
:label=
"$t('商品图片')"
align=
"center"
prop=
"attrId"
>
<
template
slot-scope=
"scope"
>
<el-image
...
...
@@ -178,7 +262,7 @@
<el-table-column
prop=
"auditStatus"
align=
"center"
:label=
"$t('
是否审核
')"
:label=
"$t('
审核状态
')"
width=
"120"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -197,12 +281,12 @@
</el-table-column>
<el-table-column
:label=
"$t('
添加
人')"
:label=
"$t('
创建
人')"
align=
"center"
prop=
"creatorName"
/>
<el-table-column
:label=
"$t('
添加
时间')"
align=
"center"
>
<el-table-column
:label=
"$t('
创建
时间')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
...
...
@@ -342,7 +426,7 @@
<image-upload
v-model=
"form.imgs"
/>
</el-form-item>
<el-form-item
prop=
"auditStatus"
:label=
"$t('
是否审核
')"
>
<el-form-item
prop=
"auditStatus"
:label=
"$t('
审核状态
')"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"form.auditStatus"
>
<el-option
...
...
@@ -554,10 +638,12 @@ import { uploadFile } from "@/api/infra/file";
import
ImageUpload
from
"
@/components/ImageUpload
"
;
import
PackagingType
from
"
@/views/ecw/channel/componrnts/packaging-type.vue
"
;
import
ProductDialog
from
"
@/views/ecw/product/product-dialog.vue
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
export
default
{
name
:
"
EcwProductIndex
"
,
components
:
{
Template
,
ProductDialog
,
PackagingType
,
ImageUpload
,
...
...
@@ -575,12 +661,7 @@ export default {
attrList
:
[],
//类型列表
typeList
:
[],
//材质列表
materialList
:
[],
//包装列表
packagingList
:
[],
//货柜位置
locationList
:
[],
// 遮罩层
loading
:
true
,
...
...
@@ -608,6 +689,12 @@ export default {
auditStatus
:
null
,
status
:
null
,
},
// 编号搜索条件
titleZhParam
:
{
key
:
"
titleZhKey
"
,
value
:
""
,
},
// 表单参数
form
:
{},
formCopy
:
{},
...
...
@@ -652,8 +739,11 @@ export default {
AuditStatusEnum
:
AuditStatusEnum
,
statusDictDatas
:
getDictDatas
(
DICT_TYPE
.
COMMON_STATUS
),
auditStatusDictDatas
:
getDictDatas
(
DICT_TYPE
.
AUDIT_STATUS
),
// 材质列表
materialList
:
getDictDatas
(
DICT_TYPE
.
ECW_PRODUCT_MATERIAL
),
//包装列表
packagingList
:
getDictDatas
(
DICT_TYPE
.
ECW_PACKAGING_TYPE
),
//货柜位置
locationList
:
getDictDatas
(
DICT_TYPE
.
ECW_CONTAINER_LOCATION
),
preferentialList
:
[],
exceptionProductId
:
0
,
//新增商品异常传的id
...
...
@@ -689,6 +779,32 @@ export default {
return
productAttrArray
.
join
(
"
,
"
);
};
},
getPackagingName
()
{
return
(
packagingId
)
=>
{
for
(
let
index
in
this
.
packagingList
)
{
let
typeItem
=
this
.
packagingList
[
index
];
if
(
typeItem
.
id
==
packagingId
)
{
return
this
.
$l
(
typeItem
,
"
title
"
);
}
}
};
},
getMaterialTypeName
()
{
return
(
materialTypeId
)
=>
{
for
(
let
index
in
this
.
materialList
)
{
let
typeItem
=
this
.
materialList
[
index
];
if
(
typeItem
.
id
==
materialTypeId
)
{
return
this
.
$l
(
typeItem
,
"
title
"
);
}
}
};
},
firstImg
()
{
return
(
imgString
)
=>
{
if
(
!
imgString
||
imgString
==
""
)
return
imgString
;
...
...
@@ -844,10 +960,22 @@ export default {
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 处理查询参数
let
params
=
{
...
this
.
queryParams
};
if
(
this
.
titleZhParam
.
value
)
{
params
[
this
.
titleZhParam
.
key
]
=
this
.
titleZhParam
.
value
;
}
params
.
filter
=
false
;
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
"
createTime
"
);
// this.addBeginAndEndTime(params, this.dateRangeCreateTime, "createTime");
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
"
createTime
"
,
false
);
// 执行查询
params
.
status
=
0
;
getProductPage
(
params
).
then
((
response
)
=>
{
...
...
@@ -891,7 +1019,10 @@ export default {
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRangeCreateTime
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
titleZhParam
.
value
=
""
;
this
.
queryParams
.
materialTypes
=
[];
this
.
handleQuery
();
},
/** 新增按钮操作 */
...
...
@@ -1018,7 +1149,13 @@ export default {
let
params
=
{
...
this
.
queryParams
};
params
.
pageNo
=
undefined
;
params
.
pageSize
=
undefined
;
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
"
createTime
"
);
//this.addBeginAndEndTime(params, this.dateRangeCreateTime, "createTime");
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
"
createTime
"
,
false
);
// 执行导出
this
.
$modal
.
confirm
(
this
.
$t
(
"
是否确认导出所有商品数据项?
"
))
...
...
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