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
e84f9d69
Commit
e84f9d69
authored
Jul 21, 2023
by
我在何方
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创建订单自单代报提示
parent
19580036
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
318 additions
and
7 deletions
+318
-7
order.js
src/api/ecw/order.js
+27
-0
en_US.json
src/i18n/languages/en_US.json
+2
-1
ApprovalDetail.vue
src/views/ecw/order/components/ApprovalDetail.vue
+13
-1
edit.vue
src/views/ecw/order/edit.vue
+3
-0
Discounts.vue
src/views/ecw/order/special/Discounts.vue
+241
-0
index.vue
src/views/ecw/order/special/index.vue
+32
-5
No files found.
src/api/ecw/order.js
View file @
e84f9d69
...
...
@@ -413,6 +413,33 @@ export function getOrderSpecialByApproveId(approveId) {
})
}
// 特价申请-批量
export
function
createOrderSpecialBatch
(
data
)
{
return
request
({
url
:
'
/ecw/order/special/apply/batch
'
,
method
:
'
put
'
,
data
:
data
})
}
// 获得订单特价申请详情-批量
export
function
getOrderSpecialBatch
(
orderId
,
type
)
{
console
.
log
(
orderId
,
type
)
return
request
({
url
:
'
/ecw/order/special/info/batch/
'
+
orderId
+
'
/
'
+
type
,
method
:
'
get
'
})
}
// 根据订单项商品ID与审批类型获得订单商品的特价申请详情-批量
export
function
getOrderSpecialByApproveIdBatch
(
approveId
)
{
return
request
({
url
:
'
/ecw/order/special/batch/info?approveId=
'
+
approveId
,
method
:
'
get
'
})
}
// 订单号检索功能
export
function
getOrderNoSearch
(
params
)
{
return
request
({
...
...
src/i18n/languages/en_US.json
View file @
e84f9d69
...
...
@@ -4041,5 +4041,6 @@
"保费币种"
:
"Premium Currency"
,
"是否支持控货"
:
"Does it support controlling goods"
,
"默认送货上门"
:
"Default door-to-door delivery"
,
"广州市捷道国际货运代理有限公司"
:
"E&C LOGISTICS LIMITED"
"广州市捷道国际货运代理有限公司"
:
"E&C LOGISTICS LIMITED"
,
"报关退税,请备齐资料。"
:
"Customs refund, prepare necessary documents."
}
src/views/ecw/order/components/ApprovalDetail.vue
View file @
e84f9d69
...
...
@@ -33,7 +33,19 @@
</div>
</div>
</el-descriptions-item>
<!-- 优惠申请 -->
<el-descriptions-item
:label=
"$t('申请理由')"
v-if=
"type == 31 || type == 32"
:span=
"4"
>
<div
class=
"bold"
v-for=
"(item,index) in detail"
:key=
"index"
>
<div>
{{
item
.
charging
?
$t
(
'
原全包价
'
)
:
$t
(
'
原运费
'
)
}}
:
{{
item
.
orgFreight
}}
{{
currencyMap
[
item
.
freightCurrency
]
}}
/
{{
unitMap
[
item
.
freightVolume
]
}}
,
{{
item
.
charging
?
$t
(
'
新全包价
'
)
:
$t
(
'
新运费
'
)
}}
:
{{
item
.
freight
}}
{{
currencyMap
[
item
.
freightCurrency
]
}}
/
{{
unitMap
[
item
.
freightVolume
]
}}
</div>
<div
v-if=
"!item.charging"
>
{{
$t
(
'
原清关费
'
)
}}
:
{{
item
.
orgClearanceFreight
}}
{{
currencyMap
[
item
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
item
.
clearanceFreightVolume
]
}}
,
{{
$t
(
'
新清关费
'
)
}}
:
{{
item
.
clearanceFreight
}}
{{
currencyMap
[
item
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
item
.
clearanceFreightVolume
]
}}
</div>
</div>
</el-descriptions-item>
<!-- 重泡货 -->
<el-descriptions-item
:label=
"$t('申请理由')"
v-if=
"type == 4 || type ==5"
:span=
"4"
>
<div
class=
"bold"
v-if=
"type == 4"
>
...
...
src/views/ecw/order/edit.vue
View file @
e84f9d69
...
...
@@ -324,6 +324,9 @@
/>
</el-form-item>
</div>
<div
class=
"form-section"
v-if=
"form.customsType==2"
>
<span
style=
"color:red;font-size:14px"
>
{{$t('报关退税,请备齐资料。')}}
</span>
</div>
<div
class=
"form-section"
v-if=
"collectionProxy"
>
<el-form-item
:label=
"$t('是否代收货款')"
prop=
"isCollection"
>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
v-model=
"form.isCollection"
form-type=
"radio"
:disabled=
"false"
/>
...
...
src/views/ecw/order/special/Discounts.vue
0 → 100644
View file @
e84f9d69
<
template
>
<el-dialog
visible
:close-on-click-modal=
"false"
width=
"80%"
:before-close=
"closeDialog"
:title=
"applyType == 32 ? $t('管理折扣') : $t('优惠申请')"
>
<el-form
ref=
"form"
:model=
"order"
label-width=
"80px"
>
<el-form-item
:label=
"$t('订单号')"
>
<span>
{{
order
.
orderNo
}}
</span>
</el-form-item>
<el-form-item
:label=
"$t('线路')"
>
{{
$t
(
'
【
'
)
}}
<dict-tag
:type=
"DICT_TYPE.TRANSPORT_TYPE"
:value=
"order.transportId"
/>
】
{{
channel
?
$l
(
channel
,
'
title
'
)
:
''
}}
{{
$t
(
"
从【{departureName
}
】发往【{objectiveName
}
】
"
,
{
departureName
:
$l
(
order
.
logisticsInfoDto
,
'
startTitle
'
),
objectiveName
:
$l
(
order
.
logisticsInfoDto
,
'
destTitle
'
)
}
)
}}
<
/el-form-item
>
<
/el-form
>
<
el
-
table
border
:
data
=
"
form.batchApplyOrderItemDetailVOList
"
>
<
el
-
table
-
column
:
label
=
"
$t('品名')
"
align
=
"
center
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
row
.
prodTitleZh
+
'
/
'
+
row
.
prodTitleEn
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('填单货物属性')
"
align
=
"
center
"
>
<
template
slot
-
scope
=
"
scope
"
>
{{
$t
(
'
品牌
'
)
}}
:
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_IS_BRAND
"
:
value
=
"
order.orderItemVOList[scope.$index].brandType
"
/><
br
>
{{
$t
(
'
箱数
'
)
}}
:
{{
order
.
orderItemVOList
[
scope
.
$index
].
num
}}
<
br
>
{{
$t
(
'
体积
'
)
}}
:
{{
order
.
orderItemVOList
[
scope
.
$index
].
volume
}}
m
³
<
br
>
{{
$t
(
'
重量
'
)
}}
:
{{
order
.
orderItemVOList
[
scope
.
$index
].
weight
}}
Kg
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
address
"
:
label
=
"
$t('入库货物属性')
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
v
-
if
=
"
order.orderItemVOList[scope.$index].warehouseInInfoVO
"
>
{{
$t
(
'
品牌
'
)
}}
:
<
template
v
-
if
=
"
order.orderItemVOList[scope.$index].brandName
"
>
{{
order
.
orderItemVOList
[
scope
.
$index
].
brandName
}}
<
/template
>
<
dict
-
tag
v
-
else
:
type
=
"
DICT_TYPE.ECW_IS_BRAND
"
:
value
=
"
order.orderItemVOList[scope.$index].feeType
"
/><
br
>
{{
$t
(
'
箱数
'
)
}}
:
{{
order
.
orderItemVOList
[
scope
.
$index
].
warehouseInInfoVO
.
cartonsNum
}}
<
br
>
{{
$t
(
'
体积
'
)
}}
:
{{
order
.
orderItemVOList
[
scope
.
$index
].
warehouseInInfoVO
.
volume
}}
m
³
<
br
>
{{
$t
(
'
重量
'
)
}}
:
{{
order
.
orderItemVOList
[
scope
.
$index
].
warehouseInInfoVO
.
weight
}}
Kg
<
/template
>
<
span
v
-
else
>
{{
$t
(
'
暂时没有入库信息
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('旧费用')
"
align
=
"
center
"
>
<
template
v
-
slot
=
"
{row
}
"
>
<
div
v
-
if
=
"
!row.charging
"
>
<
div
>
{{
$t
(
'
旧运费
'
)
}}
:{{
row
.
orgFreight
}}
{{
currentMap
[
row
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
freightVolume
]
}}
<
/div
>
<
div
>
{{
$t
(
'
旧清关费
'
)
}}
:{{
row
.
orgClearanceFreight
}}
{{
currentMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
<
/div
>
<
/div
>
<
div
v
-
else
>
{{
$t
(
'
旧全包价
'
)
}}
:{{
row
.
orgFreight
}}
{{
currentMap
[
row
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
freightVolume
]
}}
<
/div
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('新费用')
"
align
=
"
center
"
width
=
"
300px
"
>
<
template
v
-
slot
=
"
{row
}
"
>
<
div
v
-
if
=
"
!row.charging
"
>
<
div
>
{{
$t
(
'
新运费
'
)
}}
:
<
el
-
input
v
-
model
=
"
row.freight
"
type
=
"
number
"
class
=
"
w-100
"
/>
{{
currentMap
[
row
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
freightVolume
]
}}
<
/div
>
<
div
>
{{
$t
(
'
新清关费
'
)
}}
:
<
el
-
input
v
-
model
=
"
row.clearanceFreight
"
type
=
"
number
"
class
=
"
w-100
"
/>
{{
currentMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
<
/div
>
<
/div
>
<
div
v
-
else
>
{{
$t
(
'
新全包价
'
)
}}
:
<
el
-
input
v
-
model
=
"
row.freight
"
type
=
"
number
"
class
=
"
w-100
"
/>
{{
currentMap
[
row
.
freightCurrency
]
}}
/
{{
unitMap
[
row
.
freightVolume
]
}}
<
/div
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
div
class
=
"
page-title
"
>
{{
$t
(
'
审批流程
'
)
}}
<
/div
>
<
work
-
flow
xmlkey
=
"
special_apply
"
v
-
model
=
"
ccIdArr
"
/>
<
div
v
-
if
=
"
form.applyStatus != 1
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
>
{{
$t
(
'
提交
'
)
}}
<
/el-button
>
<
/div
>
<
div
v
-
else
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
$router.push('/bpm/process-instance/detail?id=' + form.formId)
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.APPLY_STATUS
"
:
value
=
"
form.applyStatus
"
/>
<
/el-button
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
cancelAudit
"
>
{{
$t
(
'
取消审核
'
)
}}
<
/el-button
>
<
el
-
button
type
=
"
default
"
@
click
=
"
closeDialog
"
>
{{
$t
(
'
返回
'
)
}}
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
/template
>
<
script
>
import
{
createOrderSpecialBatch
,
getOrderSpecialBatch
}
from
"
@/api/ecw/order
"
import
{
getUnitList
}
from
"
@/api/ecw/unit
"
import
{
getChannel
,
getChannelList
}
from
"
@/api/ecw/channel
"
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getProductType
}
from
'
@/api/ecw/productType
'
import
{
cancelProcessInstance
}
from
'
@/api/bpm/processInstance
'
import
WorkFlow
from
'
@/components/WorkFlow
'
export
default
{
name
:
"
OrderSpecialDiscount
"
,
props
:
{
order
:
Object
,
applyType
:{
// // 31是优惠申请32是管理折扣
type
:
Number
,
default
:
31
}
}
,
components
:
{
WorkFlow
}
,
created
()
{
// 查看详情,列表进来的
this
.
getOrderSpecial
()
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
// getProductType(this.orderItem.prodType).then(res =>
{
// this.productType = res.data
//
}
)
if
(
this
.
order
.
channelId
){
getChannel
(
this
.
order
.
channelId
).
then
(
res
=>
{
this
.
channel
=
res
.
data
}
)
}
}
,
data
()
{
return
{
// applyType: 1, // 1是优惠申请2是管理折扣3是佣金设置4是重货优惠5是泡货优惠
unitList
:[],
// channelList:[],
currencyList
:[],
// productTypeList:[],
ccIdArr
:
[],
form
:
{
}
,
productType
:
null
,
channel
:
null
}
}
,
watch
:{
ccIdArr
(){
this
.
$set
(
this
.
form
,
'
ccIds
'
,
this
.
ccIdArr
.
join
(
'
,
'
))
}
}
,
methods
:
{
handleSubmit
(){
var
fee
=
false
var
msg
=
''
this
.
form
.
batchApplyOrderItemDetailVOList
.
map
(
v
=>
{
if
(
v
.
charging
){
if
(
!
v
.
freight
){
fee
=
true
msg
=
this
.
$t
(
'
新全包价不能为空
'
)
}
else
if
(
v
.
freight
==
v
.
orgFreight
){
fee
=
true
msg
=
this
.
$t
(
'
新全包价不能与旧全包价一致
'
)
}
}
else
{
if
(
!
v
.
clearanceFreight
){
fee
=
true
msg
=
this
.
$t
(
'
新清关费不能为空
'
)
}
if
(
!
v
.
freight
){
fee
=
true
msg
=
this
.
$t
(
'
新运费不能为空
'
)
}
if
(
v
.
freight
&&
v
.
clearanceFreight
){
if
(
v
.
freight
==
v
.
orgFreight
&&
v
.
clearanceFreight
==
v
.
orgClearanceFreight
){
fee
=
true
msg
=
this
.
$t
(
'
新费用不能与旧费用一致
'
)
}
}
}
}
)
if
(
fee
){
this
.
$message
.
error
(
msg
)
return
}
createOrderSpecialBatch
(
Object
.
assign
({
}
,
this
.
form
,
{
orderId
:
this
.
order
.
orderId
,
orderNo
:
this
.
order
.
orderNo
}
,{
applyType
:
this
.
applyType
}
)).
then
(
res
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
提交成功
'
))
this
.
$emit
(
'
success
'
)
}
)
}
,
getOrderSpecial
(){
getOrderSpecialBatch
(
this
.
order
.
orderId
,
this
.
applyType
).
then
(
r
=>
{
this
.
form
=
r
.
data
}
)
}
,
/* getProductTypeNameById(id){
return this.$l(this.productTypeList.find(e => e.id === id), 'title')
}
, */
cancelAudit
(){
this
.
$prompt
(
this
.
$t
(
'
请输入取消原因?
'
),
this
.
$t
(
"
取消审批
"
),
{
type
:
'
warning
'
,
confirmButtonText
:
this
.
$t
(
"
确定
"
),
cancelButtonText
:
this
.
$t
(
"
取消
"
),
inputPattern
:
/^
[\s\S]
*.*
[^\s][\s\S]
*$/
,
// 判断非空,且非空格
inputErrorMessage
:
this
.
$t
(
"
取消原因不能为空
"
),
}
).
then
(({
value
}
)
=>
{
return
cancelProcessInstance
(
this
.
form
.
formId
,
value
);
}
).
then
(()
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
取消成功
"
));
this
.
closeDialog
()
}
)
}
,
closeDialog
(){
this
.
$emit
(
'
close
'
)
}
}
,
computed
:
{
// 是否可以提交
submitable
(){
let
submitable
=
false
;
if
(
!
this
.
form
.
freight
||
(
!
this
.
form
.
clearanceFreight
&&
!
this
.
form
.
charging
)){
return
false
}
[
[
'
orgClearanceFreight
'
,
'
clearanceFreight
'
],
[
'
orgFreight
'
,
'
freight
'
]
].
forEach
(
item
=>
{
if
(
this
.
form
[
item
[
0
]]
!=
this
.
form
[
item
[
1
]]){
submitable
=
true
}
}
)
return
submitable
}
,
// 根据渠道id显示渠道名
getChannelNameById
(){
return
channelId
=>
{
const
s
=
this
.
channelList
.
find
(
item
=>
item
.
channelId
==
channelId
)
?.
nameZh
return
s
?
this
.
$t
(
'
【
'
)
+
s
+
this
.
$t
(
'
】
'
)
:
''
}
}
,
currentMap
(){
let
map
=
{
}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
}
)
return
map
}
,
unitMap
(){
let
map
=
{
}
this
.
unitList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
}
)
return
map
}
}
}
<
/script
>
src/views/ecw/order/special/index.vue
View file @
e84f9d69
...
...
@@ -5,9 +5,12 @@
<!-- 列表 -->
<div
class=
"order-header"
>
<span
style=
"font-size: 15px;"
>
{{
$t
(
'
订单号
'
)
}}
:
{{
order
.
orderNo
}}
</span>
<el-button
v-hasPermi=
"['ecw:order:reduce']"
type=
"primary"
@
click=
"showDiscountsIds=order.orderId"
>
{{
$t
(
'
批量特价申请
'
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:order:commission']"
type=
"primary"
@
click=
"showAllowanceIds=order.orderId"
>
{{
$t
(
'
批量管理折扣
'
)
}}
</el-button>
</div>
<el-table
v-loading=
"loading"
:data=
"order.orderItemVOList"
>
<el-table
v-loading=
"loading"
:data=
"order.orderItemVOList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
:label=
"$t('序号')"
align=
"center"
prop=
"id"
type=
"index"
></el-table-column>
<el-table-column
prop=
"prodTitleZh"
...
...
@@ -124,6 +127,11 @@
<commission
v-if=
"!!showCommissionItem"
:order=
"order"
:orderItem=
"showCommissionItem"
@
close=
"showCommissionItem=null"
@
success=
"onCommissionSuccess"
/>
<!-- 重泡货优惠 -->
<preferential
v-if=
"!!showPreferentialType"
:applyType=
"showPreferentialType"
:order=
"order"
@
close=
"showPreferentialType=null"
@
success=
"onPreferentialSuccess"
/>
<!-- 批量优惠申请 -->
<discounts
v-if=
"!!showDiscountsIds"
:order=
"order"
@
close=
"showDiscountsIds=null"
@
success=
"onDiscountsSuccess"
/>
<!-- 批量管理折扣 -->
<discounts
v-if=
"!!showAllowanceIds"
:order=
"order"
@
close=
"showAllowanceIds=null"
:applyType=
"32"
@
success=
"onDiscountsSuccess"
/>
<!-- 佣金规则 -->
</div>
</template>
...
...
@@ -138,10 +146,11 @@ import {getOrder} from "@/api/ecw/order"
import
Discount
from
'
./Discount
'
import
Commission
from
'
./Commission
'
import
Preferential
from
'
./Preferential
'
import
Discounts
from
'
./Discounts
'
export
default
{
name
:
"
OrderSpecial
"
,
components
:
{
Discount
,
Commission
,
Preferential
Discount
,
Commission
,
Preferential
,
Discounts
},
props
:
{
orderId
:
[
String
,
Number
]
...
...
@@ -175,6 +184,10 @@ export default {
showCommissionItem
:
null
,
// 佣金规则
showAllowanceItem
:
null
,
// 管理折扣
showPreferentialType
:
null
,
// 重泡货类型
showDiscountsIds
:
null
,
// 批量优惠申请
showAllowanceIds
:
null
,
// 批量管理折扣
multipleSelection
:
null
,
ids
:
null
};
},
created
()
{
...
...
@@ -211,6 +224,12 @@ export default {
this
.
showAllowanceItem
=
null
this
.
getOrder
()
},
onDiscountsSuccess
(){
this
.
showDiscountsIds
=
null
this
.
showAllowanceIds
=
null
this
.
multipleSelection
=
null
this
.
getOrder
()
},
onCommissionSuccess
(){
this
.
showCommissionItem
=
null
this
.
getOrder
()
...
...
@@ -218,7 +237,12 @@ export default {
onPreferentialSuccess
(){
this
.
showPreferentialType
=
null
this
.
getOrder
()
}
},
// 表格多选
handleSelectionChange
(
selection
)
{
this
.
multipleSelection
=
selection
this
.
ids
=
selection
.
map
(
item
=>
item
.
orderItemId
)
},
},
computed
:
{
currencyMap
(){
...
...
@@ -248,6 +272,9 @@ export default {
padding-bottom
:
16px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
/* justify-content: space-between; */
}
.order-header
button
{
margin-left
:
20px
;
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment