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
32825519
Commit
32825519
authored
Jul 06, 2022
by
dcy
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
042ad604
3239b778
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
725 additions
and
56 deletions
+725
-56
order.js
src/api/ecw/order.js
+54
-0
index.js
src/router/index.js
+15
-0
dict.js
src/utils/dict.js
+14
-10
detail.vue
src/views/ecw/offer/detail.vue
+53
-28
index.vue
src/views/ecw/offer/index.vue
+21
-14
logList.vue
src/views/ecw/offer/logList.vue
+8
-1
special.vue
src/views/ecw/offer/special.vue
+127
-0
index.vue
src/views/ecw/order/index.vue
+428
-0
index.vue
src/views/ecw/zhongPao/index.vue
+5
-3
No files found.
src/api/ecw/order.js
0 → 100644
View file @
32825519
import
request
from
'
@/utils/request
'
// 创建订单
export
function
createOrder
(
data
)
{
return
request
({
url
:
'
/ecw/order/create
'
,
method
:
'
post
'
,
data
:
data
})
}
// 更新订单
export
function
updateOrder
(
data
)
{
return
request
({
url
:
'
/ecw/order/update
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除订单
export
function
deleteOrder
(
id
)
{
return
request
({
url
:
'
/ecw/order/delete?id=
'
+
id
,
method
:
'
delete
'
})
}
// 获得订单
export
function
getOrder
(
id
)
{
return
request
({
url
:
'
/ecw/order/get?id=
'
+
id
,
method
:
'
get
'
})
}
// 获得订单分页
export
function
getOrderPage
(
query
)
{
return
request
({
url
:
'
/ecw/order/page
'
,
method
:
'
get
'
,
params
:
query
})
}
// 导出订单 Excel
export
function
exportOrderExcel
(
query
)
{
return
request
({
url
:
'
/ecw/order/export-excel
'
,
method
:
'
get
'
,
params
:
query
,
responseType
:
'
blob
'
})
}
src/router/index.js
View file @
32825519
...
...
@@ -261,6 +261,21 @@ export const constantRoutes = [
}
]
},
{
path
:
'
/offer
'
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
children
:
[
{
path
:
'
special/:offerId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/offer/special
'
),
props
:
true
,
name
:
'
offer
'
,
meta
:
{
title
:
'
特价申请
'
,
icon
:
''
,
activeMenu
:
'
/offer/special
'
}
}
]
}
]
// 防止连续点击多次路由报错
...
...
src/utils/dict.js
View file @
32825519
...
...
@@ -77,7 +77,7 @@ export const DICT_TYPE = {
ECW_COUPON_COST_TYPE
:
'
coupon_cost_type
'
,
// 优惠券费用类型
ECW_COUPON_OVERDUE_STATUS
:
'
coupon_overdue_status
'
,
// 优惠券状态
ECW_COUPON_PUTON_STATUS
:
'
coupon_puton_status
'
,
ECW_SUITABLE_USER_TYPE
:
'
suitable_user_type
'
,
// 适用用户类型
ECW_SUITABLE_USER_TYPE
:
'
suitable_user_type
'
,
// 适用用户类型
ECW_SUITABLE_LINE_TYPE
:
'
suitable_line_type
'
,
// 适用线路类型
ECW_SUITABLE_PROD_TYPE
:
'
suitable_prod_type
'
,
// 适用产品类型
ECW_ORDER_ATTR
:
'
order_attr
'
,
// 订单属性
...
...
@@ -117,18 +117,22 @@ export const DICT_TYPE = {
IS_DEFAULT
:
'
is_default
'
,
// 默认联系人
CUSTOMER_FOLLOW_TYPE
:
'
customer_follow_type
'
,
// 跟进类型
CUSTOMER_FOLLOW_METHOD
:
'
customer_follow_method
'
,
// 跟进方式
COMMISSION_PRODUCT_APPROVAL
:
'
commission_product_approval
'
,
//佣金备案
SHIPPING_DECLARATION_TYPE
:
'
shipping_declaration_type
'
,
//出货报关方式(与订单报关方式相同)
COMMISSION_TYPE
:
'
commission_type
'
,
//佣金类型
COMMISSION_DARK_TYPE
:
'
commission_dark_type
'
,
//暗涌类型
COMMISSION_CURRENCY_TYPE
:
'
commission_currency_type
'
,
//佣金货币类型
COMMISSION_UNIT
:
'
commission_unit
'
,
//佣金货物单位
ECW_PORT_TYPE
:
'
port_type
'
,
//港口类型
CERTIFICATE_TYPE
:
'
certificate_type
'
,
//证件类型
COMMISSION_PRODUCT_APPROVAL
:
'
commission_product_approval
'
,
//佣金备案
SHIPPING_DECLARATION_TYPE
:
'
shipping_declaration_type
'
,
//出货报关方式(与订单报关方式相同)
COMMISSION_TYPE
:
'
commission_type
'
,
//佣金类型
COMMISSION_DARK_TYPE
:
'
commission_dark_type
'
,
//暗涌类型
COMMISSION_CURRENCY_TYPE
:
'
commission_currency_type
'
,
//佣金货币类型
COMMISSION_UNIT
:
'
commission_unit
'
,
//佣金货物单位
ECW_PORT_TYPE
:
'
port_type
'
,
//港口类型
CERTIFICATE_TYPE
:
'
certificate_type
'
,
//证件类型
//customer
CUSTOMER_CREDIT_RULE_TYPE
:
'
customer_credit_rule_type
'
,
CUSTOMER_LEVEL_RULE_TYPE
:
'
customer_level_rule_type
'
,
// order
ORDER_TYPE
:
'
order_type
'
,
// 订单类型
PRODUCT_RECORD_ATTRIBUTE
:
'
product_record_attribute
'
,
//产品备案属性
CONTROL_GOODS_STATUS
:
'
control_goods_status
'
,
//控货状态
DISBURSEMENT_TYPE
:
'
disbursement_type
'
//垫付类型
}
/**
...
...
src/views/ecw/offer/detail.vue
View file @
32825519
...
...
@@ -22,43 +22,43 @@
</div>
<el-descriptions
:column=
"3"
border
class=
"card"
>
<el-descriptions-item
label=
"发货人:"
>
{{
consigneeData
[
0
].
name
}}
{{
consigneeData
[
0
].
name
||
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"手机号:"
>
{{
consigneeData
[
0
].
defaultContactPhone
}}
{{
consigneeData
[
0
].
defaultContactPhone
||
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系地址:"
>
{{
consigneeData
[
0
].
address
}}
{{
consigneeData
[
0
].
address
||
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"客户来源:"
>
{{
consigneeData
[
0
].
source
}}
{{
consigneeData
[
0
].
source
||
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人公司名称:"
>
{{
consigneeData
[
0
].
company
}}
{{
consigneeData
[
0
].
company
||
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"社交软件:"
>
{{
consigneeData
[
0
].
defaultSocial
?
consigneeData
[
0
].
defaultSocial
:
''
+
'
'
+
consigneeData
[
0
].
defaultSocialNumber
?
consigneeData
[
0
].
defaultSocialNumber
:
''
}}
{{
consigneeData
[
0
].
defaultSocial
?
consigneeData
[
0
].
defaultSocial
:
'
无
'
+
'
'
+
consigneeData
[
0
].
defaultSocialNumber
?
consigneeData
[
0
].
defaultSocialNumber
:
''
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"3"
border
class=
"card"
>
<el-descriptions-item
label=
"收货人:"
>
{{
consigneeData
[
1
].
name
}}
{{
consigneeData
[
1
].
name
||
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"手机号:"
>
{{
consigneeData
[
1
].
defaultContactPhone
}}
{{
consigneeData
[
1
].
defaultContactPhone
||
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系地址:"
>
{{
consigneeData
[
1
].
address
}}
{{
consigneeData
[
1
].
address
||
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"客户来源:"
>
{{
consigneeData
[
1
].
source
}}
{{
consigneeData
[
1
].
source
||
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人公司名称:"
>
{{
consigneeData
[
1
].
company
}}
{{
consigneeData
[
1
].
company
||
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"社交软件:"
>
{{
consigneeData
[
1
].
defaultSocial
?
consigneeData
[
1
].
defaultSocial
:
''
+
'
'
+
consigneeData
[
1
].
defaultSocialNumber
?
consigneeData
[
1
].
defaultSocialNumber
:
''
}}
{{
consigneeData
[
1
].
defaultSocial
?
consigneeData
[
1
].
defaultSocial
:
'
无
'
+
'
'
+
consigneeData
[
1
].
defaultSocialNumber
?
consigneeData
[
1
].
defaultSocialNumber
:
''
}}
</el-descriptions-item>
</el-descriptions>
<div
class=
"title-font"
>
...
...
@@ -107,7 +107,11 @@
</
template
>
</el-table-column>
<el-table-column
label=
"出货渠道"
width=
"100px"
prop=
"channelName"
/>
<el-table-column
label=
"线路"
width=
"200px"
prop=
"lineName"
/>
<el-table-column
label=
"线路"
width=
"200px"
>
<
template
slot-scope=
"scope"
>
{{
getRouterNameById
(
scope
.
row
.
lineId
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"运费"
>
<
template
slot-scope=
"scope"
>
{{
'
运费
'
+
scope
.
row
.
seaFreight
+
scope
.
row
.
seaFreightCurrency
+
'
/
'
+
scope
.
row
.
seaFreightVolume
+
'
清关费
'
+
scope
.
row
.
clearanceFreight
+
scope
.
row
.
clearanceFreightCurrency
+
'
/
'
+
scope
.
row
.
clearanceFreightVolume
}}
...
...
@@ -142,7 +146,7 @@
<div
class=
"line"
>
<el-descriptions
v-for=
"(lineItem,k) in item.lineData"
>
<el-descriptions-item
:label=
"[3,4].indexOf(item.transportId)>-1?('空运路线'+(k+1)):('海运路线'+(k+1))"
>
{{
lineItem.warehouseLineDO.startTitleZh + ' >> >> >> ' + lineItem.warehouseLineDO.destTitleZh
}}
{{
getRouterNameById(lineItem)
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
v-for=
"(channelItem,k) in item.channelData"
>
...
...
@@ -246,9 +250,9 @@
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getOffer
,
deleteOffer
}
from
'
@/api/ecw/offer
'
import
{
getProductAttrList
}
from
'
@/api/ecw/productAttr
'
import
{
getProductPrice
,
getProductPriceList
}
from
'
@/api/ecw/productPrice
'
import
{
getCustomerList
,
getCustomer
}
from
'
@/api/ecw/customer
'
import
{
getChannelLists
,
getChannel
}
from
'
@/api/ecw/channel
'
import
{
openedRouterList
as
getOpenedRouterList
}
from
'
@/api/ecw/warehouse
'
export
default
{
name
:
"
detail
"
,
components
:
{
...
...
@@ -262,9 +266,10 @@
types
:
'
package,bag
'
,
importance
:
1
,
productAttrList
:[],
offerId
:
134
,
offerId
:
0
,
//发货/收货人信息
consigneeData
:[]
consigneeData
:[],
routerList
:[]
};
},
created
()
{
...
...
@@ -273,7 +278,6 @@
this
.
offerId
=
this
.
$route
.
query
.
offerId
this
.
getList
();
}
this
.
getList
();
},
methods
:
{
/** 查询列表 */
...
...
@@ -289,13 +293,16 @@
item
.
channelData
=
res
.
data
})
}
if
(
item
.
lineId
){
getProductPriceList
(
item
.
lineIds
).
then
(
res
=>
{
item
.
lineData
=
res
.
data
})
if
(
item
.
lineIds
){
let
lineIdList
=
[]
if
(
item
.
lineIds
.
indexOf
(
'
,
'
)
>-
1
){
lineIdList
=
item
.
lineIds
.
split
(
'
,
'
)
}
else
{
lineIdList
.
push
(
item
.
lineIds
)
}
item
.
lineData
=
lineIdList
}
})
var
num
=
0
that
.
list
.
offerProdRespVOList
.
forEach
((
item
)
=>
{
if
(
item
.
channelId
){
...
...
@@ -303,11 +310,6 @@
item
.
channelName
=
res
.
data
.
nameZh
})
}
if
(
item
.
lineId
){
getProductPrice
(
item
.
lineId
).
then
(
res
=>
{
item
.
lineName
=
res
.
data
.
warehouseLineDO
.
startTitleZh
+
'
>>
'
+
res
.
data
.
warehouseLineDO
.
destTitleZh
})
}
var
arr
=
item
.
prodAttrIds
.
split
(
'
,
'
)
var
prodAttrName
=
[]
arr
.
forEach
((
itemValue
)
=>
{
...
...
@@ -322,8 +324,31 @@
that
.
loading
=
false
;
that
.
getCnsigneeData
()
that
.
getOpenedRouterList
()
});
},
// 获取路线
getOpenedRouterList
(){
let
params
=
{}
if
(
this
.
list
.
departureId
){
params
.
startCityId
=
this
.
list
.
departureId
}
if
(
this
.
list
.
objectiveId
){
params
.
destCityId
=
this
.
list
.
objectiveId
}
getOpenedRouterList
(
params
).
then
(
res
=>
this
.
routerList
=
res
.
data
)
},
// 根据线路id显示线路名称
getRouterNameById
(
routerId
){
// return routerId => {
let
router
=
this
.
routerList
.
find
(
item
=>
item
.
id
==
routerId
)
console
.
log
({
router
})
if
(
router
){
return
router
.
startTitleZh
+
'
>>>
'
+
router
.
destTitleZh
}
return
'
-
'
// }
},
// 获取发货/收货人
getCnsigneeData
(){
let
that
=
this
...
...
src/views/ecw/offer/index.vue
View file @
32825519
...
...
@@ -80,15 +80,19 @@
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
v
-
if
=
"
[1,2].indexOf(scope.row.status) > -1
"
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
详情
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('edit?id=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
编辑
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('
createLog?i
d=' + scope.row.offerId)
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('
logList?offerI
d=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
跟进
<
/el-button
>
<
/template
>
<
template
v
-
if
=
"
scope.row.status == 2
"
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
详情
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push(`result?offerId=${scope.row.offerId
}
&number=${scope.row.number
}
`)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
结果
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('/offer/special/' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
特价
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
...
...
@@ -97,6 +101,8 @@
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
恢复
<
/el-button
>
<
/template
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
详情
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-delete
"
v
-
hasPermi
=
"
['ecw:offer:delete']
"
>
删除
<
/el-button
>
<
/template
>
...
...
@@ -106,7 +112,6 @@
<
pagination
v
-
show
=
"
total > 0
"
:
total
=
"
total
"
:
page
.
sync
=
"
queryParams.pageNo
"
:
limit
.
sync
=
"
queryParams.pageSize
"
@
pagination
=
"
getList
"
/>
<
/div
>
<
/template
>
...
...
@@ -168,6 +173,8 @@ export default {
estCost
:
null
,
sendstatus
:
null
,
}
,
}
;
}
,
created
()
{
...
...
src/views/ecw/offer/logList.vue
View file @
32825519
...
...
@@ -46,6 +46,7 @@
<
script
>
import
{
getOfferLogPage
}
from
"
@/api/ecw/offerLog
"
;
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getOffer
}
from
'
@/api/ecw/offer
'
export
default
{
name
:
"
OfferLog
"
,
components
:
{
...
...
@@ -70,8 +71,8 @@ export default {
created
()
{
if
(
this
.
$route
.
query
.
offerId
){
this
.
params
.
offerId
=
this
.
$route
.
query
.
offerId
this
.
relationId
=
this
.
$route
.
query
.
relationId
this
.
getList
();
this
.
getRelationID
()
}
},
methods
:
{
...
...
@@ -85,6 +86,12 @@ export default {
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
},
getRelationID
(){
getOffer
(
this
.
params
.
offerId
).
then
(
response
=>
{
this
.
relationId
=
response
.
data
.
consignorId
;
})
},
/** 新增按钮操作 */
handleAdd
()
{
...
...
src/views/ecw/offer/special.vue
0 → 100644
View file @
32825519
<
template
>
<div
class=
"app-container"
>
<el-card>
<div
slot=
"header"
class=
"card-title"
>
申请特价
</div>
<!-- 列表 -->
<div
class=
"offer-header"
>
<span
style=
"font-size: 15px;"
>
订单号:
{{
offer
.
number
}}
</span>
</div>
<el-table
v-loading=
"loading"
:data=
"offer.offerProdRespVOList"
>
<el-table-column
label=
"序号"
align=
"center"
prop=
"id"
type=
"index"
></el-table-column>
<el-table-column
prop=
"prodTitleZh"
label=
"品名"
>
</el-table-column>
<el-table-column
prop=
"prodAttrIds"
label=
"填单货物属性"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"入库货物属性"
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"最后操作时间"
>
</el-table-column>
<el-table-column
label=
"原价"
>
<template
v-slot=
"
{row}">
运费:
{{
row
.
originalSeaFreight
}}
美元/立方米 清关费:
{{
row
.
originalClearanceFreight
}}
奈拉/立方米
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"成本价"
>
<
template
v-slot=
"{row}"
>
运费:
{{
row
.
seaFreight
}}
美元/立方米 清关费:
{{
row
.
clearanceFreight
}}
奈拉/立方米
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"销售价"
>
<
template
v-slot=
"{row}"
>
运费:
{{
row
.
seaFreight
}}
美元/立方米 清关费:
{{
row
.
clearanceFreight
}}
奈拉/立方米
</
template
>
</el-table-column>
<el-table-column
prop=
"address"
label=
"操作"
>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:offer:update']"
>
优惠申请
</el-button>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:offer:update']"
>
佣金规则
</el-button>
<el-button
size=
"mini"
type=
"text"
v-hasPermi=
"['ecw:offer:update']"
>
管理折扣
</el-button>
</el-table-column>
</el-table>
<div
style=
"text-align: center;margin-top: 80px"
>
<el-button
type=
"primary"
>
申请重货优惠
</el-button>
<el-button
type=
"primary"
>
申请泡货优惠
</el-button>
<el-button
type=
"primary"
>
关闭窗口
</el-button>
</div>
</el-card>
</div>
</template>
<
script
>
import
{
getOfferLogPage
}
from
"
@/api/ecw/offerLog
"
;
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getOffer
}
from
'
@/api/ecw/offer
'
export
default
{
name
:
"
OfferSpecial
"
,
components
:
{
},
props
:
{
offerId
:
String
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
list
:
[],
total
:
0
,
params
:{
page
:
1
,
rows
:
20
,
offerId
:
0
,
type
:
2
},
relationId
:
0
,
creatorName
:
'
test
'
,
offer
:
{
number
:
''
,
offerProdRespVOList
:
[]
}
};
},
created
()
{
if
(
this
.
offerId
){
this
.
params
.
offerId
=
this
.
offerId
this
.
getOffer
()
}
},
methods
:
{
getOffer
(){
this
.
loading
=
true
getOffer
(
this
.
offerId
).
then
(
response
=>
{
this
.
loading
=
false
this
.
offer
=
response
.
data
})
}
}
};
</
script
>
<
style
>
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
}
.offer-header
{
padding-bottom
:
16px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
</
style
>
src/views/ecw/order/index.vue
0 → 100644
View file @
32825519
<
template
>
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
>
<el-form-item
label=
"订单编号"
prop=
"orderNo"
>
<el-input
v-model=
"queryParams.orderNo"
placeholder=
"请输入订单编号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"产品备案属性"
prop=
"productRecord"
>
<dict-selector
:type=
"DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
v-model=
"queryParams.productRecord"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"控货状态"
prop=
"cargoControlStatus"
>
<dict-selector
:type=
"DICT_TYPE.CONTROL_GOODS_STATUS"
v-model=
"queryParams.cargoControlStatus"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"报关类别"
prop=
"customsType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model=
"queryParams.customsType"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['ecw:order:create']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:order:export']"
>
导出
</el-button>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"主键ID"
align=
"center"
prop=
"orderId"
/>
<el-table-column
label=
"订单编号"
align=
"center"
prop=
"orderNo"
/>
<el-table-column
label=
"父编号"
align=
"center"
prop=
"parentNumber"
/>
<el-table-column
label=
"下单会员"
align=
"center"
prop=
"userId"
/>
<el-table-column
label=
"唛头"
align=
"center"
prop=
"marks"
/>
<el-table-column
label=
"产品备案属性"
align=
"center"
prop=
"productRecord"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
productRecord
|
recordFilter
(
productRecordList
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"控货状态"
align=
"center"
prop=
"cargoControlStatus"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
cargoControlStatus
|
cargoControlStatusFilter
(
cargoControlStatusList
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"报关类别"
align=
"center"
prop=
"customsType"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
customsType
|
customsTypeFilter
(
customsTypeList
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"入仓箱数"
align=
"center"
prop=
"sumNum"
/>
<el-table-column
label=
"入仓方数"
align=
"center"
prop=
"sumVolume"
/>
<el-table-column
label=
"入仓重量"
align=
"center"
prop=
"sumWeight"
/>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:order:update']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['ecw:order:delete']"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"110px"
>
<el-form-item
label=
"唛头"
prop=
"marks"
>
<el-input
v-model=
"form.marks"
placeholder=
"请输入唛头"
/>
</el-form-item>
<el-form-item
label=
"产品备案属性"
prop=
"productRecord"
>
<dict-selector
:type=
"DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
v-model=
"form.productRecord"
clearable
/>
</el-form-item>
<el-form-item
label=
"控货状态"
prop=
"cargoControlStatus"
>
<dict-selector
:type=
"DICT_TYPE.CONTROL_GOODS_STATUS"
v-model=
"form.cargoControlStatus"
clearable
/>
</el-form-item>
<el-form-item
label=
"报关类别"
prop=
"customsType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model=
"form.customsType"
clearable
/>
</el-form-item>
<el-form-item
label=
"入仓箱数"
prop=
"sumNum"
>
<el-input
v-model=
"form.sumNum"
placeholder=
"请输入入仓箱数"
/>
</el-form-item>
<el-form-item
label=
"入仓方数"
prop=
"sumVolume"
>
<el-input
v-model=
"form.sumVolume"
placeholder=
"请输入入仓方数"
/>
</el-form-item>
<el-form-item
label=
"入仓重量"
prop=
"sumWeight"
>
<el-input
v-model=
"form.sumWeight"
placeholder=
"请输入入仓重量"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
createOrder
,
updateOrder
,
deleteOrder
,
getOrder
,
getOrderPage
,
exportOrderExcel
}
from
"
@/api/ecw/order
"
;
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
export
default
{
name
:
"
Order
"
,
components
:
{
},
filters
:{
cargoControlStatusFilter
(
e
,
cargoControlStatusList
)
{
if
(
e
)
return
cargoControlStatusList
.
find
(
item
=>
item
.
value
==
e
).
label
},
recordFilter
(
e
,
productRecordList
)
{
if
(
e
)
return
productRecordList
.
find
(
item
=>
item
.
value
==
e
).
label
},
customsTypeFilter
(
e
,
customsTypeList
)
{
if
(
e
)
return
customsTypeList
.
find
(
item
=>
item
.
value
==
e
).
label
}
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 订单列表
list
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
dateRangeRucangtime
:
[],
dateRangeDaogangtime
:
[],
dateRangeQingguantime
:
[],
dateRangePreLoadTime
:
[],
dateRangeLoadTime
:
[],
dateRangeUnloadTime
:
[],
dateRangeTakeTime
:
[],
dateRangeSplitTime
:
[],
dateRangeCreateTime
:
[],
// 查询参数
queryParams
:
{
pageNo
:
1
,
pageSize
:
10
,
orderNo
:
null
,
number
:
null
,
tidanNo
:
null
,
parentNumber
:
null
,
oldNumbers
:
null
,
transportId
:
null
,
lineId
:
null
,
channelId
:
null
,
orderType
:
null
,
userId
:
null
,
marks
:
null
,
productRecord
:
null
,
isCargoControl
:
null
,
cargoControlStatus
:
null
,
customsType
:
null
,
upFile
:
null
,
payType
:
null
,
status
:
null
,
isDel
:
null
,
collectionProxy
:
null
,
isCollection
:
null
,
zhongPao
:
null
,
wVolume
:
null
,
vWeight
:
null
,
weightUnit
:
null
,
warehouseType
:
null
,
countryAbbreviation
:
null
,
countryCode
:
null
,
sendsms
:
null
,
commissionId
:
null
,
documentsFile
:
null
,
remarks
:
null
,
isTodoOrder
:
null
,
advanceType
:
null
,
transFee
:
null
,
transCurrency
:
null
,
plateFee
:
null
,
boxFee
:
null
,
todoDetail
:
null
,
advanceWho
:
null
,
toDepartureId
:
null
,
sumNum
:
null
,
sumVolume
:
null
,
sumWeight
:
null
,
weightRatio
:
null
,
customerId
:
null
,
wareId
:
null
,
areaId
:
null
,
locationId
:
null
,
locationName
:
null
,
sumValue
:
null
,
valuationFee
:
null
,
cost
:
null
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
orderNo
:
[{
required
:
true
,
message
:
"
订单编号不能为空
"
,
trigger
:
"
blur
"
}],
sumVolume
:
[{
required
:
true
,
message
:
"
入仓方数不能为空
"
,
trigger
:
"
blur
"
}],
sumWeight
:
[{
required
:
true
,
message
:
"
入仓重量不能为空
"
,
trigger
:
"
blur
"
}],
weightRatio
:
[{
required
:
true
,
message
:
"
重货比不能为空
"
,
trigger
:
"
blur
"
}],
},
productRecordList
:
getDictDatas
(
DICT_TYPE
.
PRODUCT_RECORD_ATTRIBUTE
),
cargoControlStatusList
:
getDictDatas
(
DICT_TYPE
.
CONTROL_GOODS_STATUS
),
customsTypeList
:
getDictDatas
(
DICT_TYPE
.
ECW_CUSTOMS_TYPE
)
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 处理查询参数
let
params
=
{...
this
.
queryParams
};
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeRucangtime
,
'
rucangtime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeDaogangtime
,
'
daogangtime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeQingguantime
,
'
qingguantime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangePreLoadTime
,
'
preLoadTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeLoadTime
,
'
loadTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeUnloadTime
,
'
unloadTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeTakeTime
,
'
takeTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeSplitTime
,
'
splitTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行查询
getOrderPage
(
params
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
},
/** 取消按钮 */
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
/** 表单重置 */
reset
()
{
this
.
form
=
{
orderId
:
undefined
,
orderNo
:
undefined
,
number
:
undefined
,
tidanNo
:
undefined
,
parentNumber
:
undefined
,
oldNumbers
:
undefined
,
transportId
:
undefined
,
lineId
:
undefined
,
channelId
:
undefined
,
orderType
:
undefined
,
userId
:
undefined
,
marks
:
undefined
,
productRecord
:
undefined
,
isCargoControl
:
undefined
,
cargoControlStatus
:
undefined
,
customsType
:
undefined
,
upFile
:
undefined
,
payType
:
undefined
,
status
:
undefined
,
isDel
:
undefined
,
collectionProxy
:
undefined
,
isCollection
:
undefined
,
zhongPao
:
undefined
,
wVolume
:
undefined
,
vWeight
:
undefined
,
weightUnit
:
undefined
,
warehouseType
:
undefined
,
countryAbbreviation
:
undefined
,
countryCode
:
undefined
,
sendsms
:
undefined
,
commissionId
:
undefined
,
documentsFile
:
undefined
,
remarks
:
undefined
,
isTodoOrder
:
undefined
,
advanceType
:
undefined
,
transFee
:
undefined
,
transCurrency
:
undefined
,
plateFee
:
undefined
,
boxFee
:
undefined
,
todoDetail
:
undefined
,
advanceWho
:
undefined
,
toDepartureId
:
undefined
,
sumNum
:
undefined
,
sumVolume
:
undefined
,
sumWeight
:
undefined
,
weightRatio
:
undefined
,
customerId
:
undefined
,
wareId
:
undefined
,
areaId
:
undefined
,
locationId
:
undefined
,
locationName
:
undefined
,
sumValue
:
undefined
,
valuationFee
:
undefined
,
rucangtime
:
undefined
,
daogangtime
:
undefined
,
cost
:
undefined
,
qingguantime
:
undefined
,
preLoadTime
:
undefined
,
loadTime
:
undefined
,
unloadTime
:
undefined
,
takeTime
:
undefined
,
splitTime
:
undefined
,
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRangeRucangtime
=
[];
this
.
dateRangeDaogangtime
=
[];
this
.
dateRangeQingguantime
=
[];
this
.
dateRangePreLoadTime
=
[];
this
.
dateRangeLoadTime
=
[];
this
.
dateRangeUnloadTime
=
[];
this
.
dateRangeTakeTime
=
[];
this
.
dateRangeSplitTime
=
[];
this
.
dateRangeCreateTime
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加订单
"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
orderId
=
row
.
orderId
;
getOrder
(
orderId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"
修改订单
"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
if
(
!
valid
)
{
return
;
}
// 修改的提交
if
(
this
.
form
.
orderId
!=
null
)
{
updateOrder
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
return
;
}
// 添加的提交
createOrder
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
orderId
=
row
.
orderId
;
this
.
$modal
.
confirm
(
'
是否确认删除订单编号为"
'
+
orderId
+
'
"的数据项?
'
).
then
(
function
()
{
return
deleteOrder
(
orderId
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
删除成功
"
);
}).
catch
(()
=>
{});
},
/** 导出按钮操作 */
handleExport
()
{
// 处理查询参数
let
params
=
{...
this
.
queryParams
};
params
.
pageNo
=
undefined
;
params
.
pageSize
=
undefined
;
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeRucangtime
,
'
rucangtime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeDaogangtime
,
'
daogangtime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeQingguantime
,
'
qingguantime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangePreLoadTime
,
'
preLoadTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeLoadTime
,
'
loadTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeUnloadTime
,
'
unloadTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeTakeTime
,
'
takeTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeSplitTime
,
'
splitTime
'
);
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行导出
this
.
$modal
.
confirm
(
'
是否确认导出所有订单数据项?
'
).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportOrderExcel
(
params
);
}).
then
(
response
=>
{
this
.
$download
.
excel
(
response
,
'
${table.classComment}.xls
'
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
}
};
</
script
>
src/views/ecw/zhongPao/index.vue
View file @
32825519
...
...
@@ -46,7 +46,7 @@
<dict-tag
:type=
"DICT_TYPE.ZHONG_PAO_TYPE"
:value=
"scope.row.type"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"
传
输方式"
align=
"center"
prop=
"transportTypes"
>
<el-table-column
label=
"
运
输方式"
align=
"center"
prop=
"transportTypes"
>
<
template
slot-scope=
"scope"
>
<span
v-for=
"item in scope.row.transportTypes.split(',')"
><dict-tag
:type=
"DICT_TYPE.TRANSPORT_TYPE"
:value=
"item"
/>
,
</span>
</
template
>
...
...
@@ -69,7 +69,7 @@
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:zhong-pao:update']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-show=
"scope.row.departureId !== 0 || scope.row.objectiveIds !== '0'"
v-hasPermi=
"['ecw:zhong-pao:delete']"
>
删除
</el-button>
</
template
>
</el-table-column>
...
...
@@ -87,7 +87,7 @@
:key=
"dict.value"
:label=
"dict.label"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"
传
输方式"
prop=
"transportTypes"
>
<el-form-item
label=
"
运
输方式"
prop=
"transportTypes"
>
<dict-selector
:type=
"DICT_TYPE.TRANSPORT_TYPE"
v-model=
"form.transportTypes"
multiple
form-type=
"checkbox"
:filter=
"transportTypesFilter"
></dict-selector>
</el-form-item>
<el-form-item
label=
"始发地"
prop=
"departureId"
>
...
...
@@ -285,6 +285,7 @@ export default {
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
getList
();
this
.
reset
()
});
return
;
}
...
...
@@ -293,6 +294,7 @@ export default {
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
open
=
false
;
this
.
getList
();
this
.
reset
()
});
});
},
...
...
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