Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
SuperMan
Commits
032acf1a
Commit
032acf1a
authored
Mar 14, 2023
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
解决冲突
parents
a0d9973e
ceccbedf
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1274 additions
and
0 deletions
+1274
-0
orderList.vue
...omponents/busManagement/BookAcar/components/orderList.vue
+1274
-0
No files found.
src/components/busManagement/BookAcar/components/orderList.vue
0 → 100644
View file @
032acf1a
<
style
scoped
>
.row
{
display
:
flex
;
}
.row-c
{
display
:
flex
;
align-items
:
center
;
}
.column
{
display
:
flex
;
flex-direction
:
column
;
}
.column-jac
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
}
.column-ac
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
}
.wrap
{
flex-wrap
:
wrap
;
}
.justify-sb
{
justify-content
:
space-between
;
}
.justify-c
{
justify-content
:
center
;
}
.justify-e
{
justify-content
:
flex-end
;
align-items
:
flex-end
;
}
.flex-g
{
flex-grow
:
1
;
}
.flex-s
{
flex-shrink
:
0
;
}
.align-c
{
align-items
:
center
;
}
.cblack
{
color
:
black
;
}
.cf
{
color
:
#ffffff
;
}
.c9e
{
color
:
#9e9e9e
;
}
.c20C997
{
color
:
#20c997
;
}
.c02C854
{
color
:
#02c854
;
}
.cff9800
{
color
:
#ff9800
;
}
.cF1416C
{
color
:
#f1416c
;
}
.cF57A98
{
color
:
#f57a98
;
}
.c04C8C8
{
color
:
#04c8c8
;
}
.c059FF6
{
color
:
#059ff6
;
}
.c3FC4FF
{
color
:
#3fc4ff
;
}
.fz10
{
font-size
:
10px
;
}
.fz11
{
font-size
:
11px
;
}
.fz12
{
font-size
:
12px
;
}
.fz13
{
font-size
:
13px
;
}
.fz14
{
font-size
:
14px
;
}
.fz15
{
font-size
:
15px
;
}
.fz16
{
font-size
:
16px
;
}
.fz17
{
font-size
:
17px
;
}
.fz18
{
font-size
:
18px
;
}
.fbold
{
font-weight
:
bold
;
}
.ml
{
margin-left
:
10px
;
}
.mr
{
margin-right
:
10px
;
}
.mt
{
margin-top
:
10px
;
}
.mt20
{
margin-top
:
20px
;
}
.mb
{
margin-bottom
:
10px
;
}
.mb20
{
margin-bottom
:
20px
;
}
.mx
{
margin-left
:
10px
;
margin-right
:
10px
;
}
.mx5
{
margin-left
:
5px
;
margin-right
:
5px
;
}
.mb5
{
margin-bottom
:
5px
;
}
.py
{
padding
:
15px
0
;
}
.py5
{
padding
:
5px
0
;
}
.px5
{
padding
:
0
5px
;
}
.px15
{
padding
:
0
15px
;
}
.pa15
{
padding
:
15px
;
}
.py20
{
padding
:
20px
0
;
}
.pb5
{
padding
:
0
0
5px
0
;
}
.pa
{
padding
:
10px
20px
;
}
.pa20
{
padding
:
20px
;
}
.pt20
{
padding
:
20px
0
;
}
.borderD
{
border-bottom
:
1px
dashed
#dddddd
;
}
.bgf
{
background
:
#ffffff
;
}
.bgf5
{
background
:
#f5f5f5
;
}
.bgE8F5E9
{
background
:
#e8f5e9
;
}
.bgD9F3FF
{
background
:
#d9f3ff
;
}
.bgFAEAED
{
background
:
#faeaed
;
}
.bj
{
background
:
#ffffff
;
}
.bjFFF3E0
{
background
:
#FFF3E0
;
}
.radius5
{
border-radius
:
5px
;
}
.cursor-pointer
{
cursor
:
pointer
;
}
.relative
{
position
:
relative
;
}
.absolute
{
position
:
absolute
;
}
.left0
{
left
:
0
;
}
.right0
{
right
:
0
;
}
.top0
{
top
:
0
;
}
.bottom0
{
bottom
:
0
;
}
.left20
{
left
:
020px
;
}
.right20
{
right
:
20px
;
}
.top20
{
top
:
20px
;
}
.bottom20
{
bottom
:
20px
;
}
.text-center
{
text-align
:
center
;
}
.orderType
{
padding
:
3px
15px
;
border-radius
:
3px
;
background
:
#f57a98
;
margin-right
:
15px
;
}
.orderType.active
{
background
:
#4dd0e1
;
}
.orderType.activeB
{
background
:
#E95252
;
}
.copy
{
display
:
inline-block
;
padding
:
3px
15px
;
border-radius
:
3px
;
margin-left
:
20px
;
}
.copy
:hover
{
background
:
#f5f5f5
;
}
.see-rec
div
{
padding
:
1px
5px
;
border-radius
:
3px
;
}
.see
{
border
:
1px
solid
#04c8c8
;
}
.seeLK
{
border
:
1px
solid
#059ff6
;
}
.see
:hover
{
background-color
:
rgba
(
4
,
200
,
200
,
0.1
);
}
.rec
{
border
:
1px
solid
#04c8c8
;
background-color
:
rgba
(
4
,
200
,
200
,
1
);
}
.rec
:hover
{
border
:
1px
solid
rgba
(
4
,
200
,
200
,
0.9
);
background-color
:
rgba
(
4
,
200
,
200
,
0.9
);
}
.cancel
:hover
{
background-color
:
#f3dce2
;
}
.confirm
:hover
{
background-color
:
#dcedc8
;
}
.change
:hover
{
background-color
:
#d7e9f3
;
}
.change1
:hover
{
background-color
:
#dcedc8
;
}
.orderop
{
text-align
:
center
;
}
.orderop
div
{
width
:
100px
;
height
:
50%
;
display
:
flex
;
justify-content
:
center
;
}
.RoomList
div
{
border-bottom
:
1px
solid
#e7e7e7
;
}
.RoomList
div
:last-child
{
border
:
0
;
}
.el-table
{
font-size
:
13px
;
}
.shezhifrom
{
position
:
relative
;
}
.shebox
{
position
:
absolute
;
top
:
0
;
left
:
-100px
;
display
:
none
;
}
.shezhifrom
:hover
.shebox
{
display
:
block
;
}
.flexOne-form-bj
h3
{
font-size
:
18px
;
color
:
black
;
padding
:
0
0
20px
0
;
font-weight
:
400
;
}
.flexOne-type
{
display
:
flex
;
align-items
:
center
;
padding
:
0
0
20px
0
;
}
.flexOne-type
b
{
font-size
:
13px
;
width
:
100px
;
flex-shrink
:
0
;
}
.flexOne-type
div
{
display
:
flex
;
}
.flexOne-description
{
padding
:
15px
15px
;
border-radius
:
5px
;
background
:
#E1F5FE
;
margin-bottom
:
20px
;
}
.flexOne-description
b
{
font-size
:
14px
;
}
.flexOne-description
p
{
font-size
:
12px
;
color
:
#4C5759
;
padding
:
10px
0
0
0
;
}
.flexOne-infor-box
b
{
font-size
:
13px
;
}
.infor-list
{
display
:
flex
;
flex-direction
:
column
;
}
.list-title
{
padding
:
20px
0
;
border-bottom
:
1px
dashed
#eeeeee
;
color
:
#7E8299
;
font-size
:
13px
;
}
.list-title
,
.list-centent
{
display
:
flex
;
flex-wrap
:
wrap
;
margin-top
:
20px
;
}
.infor-list
li
{
width
:
25%
;
}
.list-centent
li
{
width
:
33.33%
;
}
.list-centent.active
li
{
width
:
25%
;
}
/
deep
/
.el-table
tr
td
:first-child
{
border-bottom
:
0
;
}
/
deep
/
.el-table
tr
:last-child
td
{
border-bottom
:
1px
solid
#EBEEF5
;
}
/
deep
/
.el-table
tr
td
{
border-bottom
:
1px
solid
#EBEEF5
;
}
</
style
>
<
template
>
<div>
<div
v-for=
"(item, index) in OrderList"
class=
"column bgf radius5 px15 mb20"
>
<div
class=
"row-c justify-sb align-c py"
>
<div
class=
"row-c"
>
<div>
<div
class=
"orderType cf fz12"
:class=
"
{ active: item.OrderType == 1,activeB: item.OrderType == 3 }"
>
<template
v-if=
"item.OrderType==1"
>
接机
</
template
>
<
template
v-if=
"item.OrderType==2"
>
送机
</
template
>
<
template
v-if=
"item.OrderType==3"
>
包车
</
template
>
</div>
</div>
<div
class=
"c9e fz12"
>
<span>
订单编号:
</span>
<span>
{{ item.OrderNo }}
</span>
<span
class=
"copy cblack cursor-pointer"
v-if=
"copyId != item.OrderId"
@
click=
"CopyHandler(item)"
>
复制
</span
>
<span
class=
"copy c059FF6 bgD9F3FF cursor-pointer"
v-else
><i
class=
"el-icon-check mr"
></i>
已复制
</span
>
</div>
</div>
<div
class=
"c9e fz12"
>
<span>
客人信息:{{ item.SurName }}{{ item.Name }}/{{ item.Mobile }}
</span>
</div>
<div
class=
"row c9e fz12"
>
<span>
销售:
</span>
<span
class=
"mr"
>
{{ item.SaleName }}
</span>
<span
class=
"mr"
v-if=
"item.CustomerName"
>
创建人:
</span>
<span
class=
"mr"
v-if=
"item.CustomerName"
>
{{ item.CustomerName }} ({{ item.CustomerContact }}/{{
item.CustomerTel
}})
</span>
<span>
下单时间:
</span>
<span
class=
"mr"
>
{{ item.CreateTime }}
</span>
<div
class=
""
>
<i
class=
"mx5"
:class=
"{
'el-icon-alarm-clock c20C997': item.OrderStatus == 1,
'el-icon-check cblack': item.OrderStatus == 2,
'el-icon-warning cff9800': item.OrderStatus == 3,
'el-icon-refresh cF1416C': item.OrderStatus == 4
}"
></i>
<span
class=
"fz12 cblack"
:class=
"{
c20C997: item.OrderStatus == 1,
cblack: item.OrderStatus == 2,
cff9800: item.OrderStatus == 3,
cF1416C: item.OrderStatus == 4
}"
>
{{ item.OrderStatusName }}
</span>
</div>
</div>
</div>
<div
class=
"mb"
>
<el-table
:data=
"[item]"
style=
"width:100%"
border
>
<el-table-column
label=
"产品名称(下单日期)"
min-width=
"100"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<template>
<div>
{{
scope
.
row
.
ProductName
}}
</div>
<span
style=
"color: #999999;"
>
{{
scope
.
row
.
CreateTime
}}
</span>
</
template
>
</template>
</el-table-column>
<el-table-column
v-if=
"item.OrderType!=3"
label=
"航班信息"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
AirLine
}}
</div>
<div
class=
"text-grey-9 q-pt-xs"
>
{{
scope
.
row
.
FlightNumber
}}
</div>
<div
class=
"text-grey-6 q-pt-xs"
>
{{
scope
.
row
.
FlightTime
}}{{
scope
.
row
.
OrderType
==
1
?
'抵达'
:
'出发至'
}}{{
scope
.
row
.
AirportName
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"上下车信息"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<div>
预定时间:
{{
scope
.
row
.
OrderDate
}}
</div>
<div>
车型:
{{
scope
.
row
.
CarName
}}
</div>
<div
v-if=
"scope.row.GetonAddress"
>
上车点:
{{
scope
.
row
.
GetonAddress
}}
</div>
<div
v-if=
"scope.row.GetoffAddress"
>
下车点:
{{
scope
.
row
.
GetoffAddress
}}
</div>
</
template
>
</el-table-column>
<el-table-column
v-if=
"item.OrderType!=3"
label=
"行李"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.HandLuggageNum>0"
>
手提:
{{
scope
.
row
.
HandLuggageNum
}}
</div>
<div
v-if=
"scope.row.HandLuggageNum>0"
>
托运:
{{
scope
.
row
.
RegisteredLuggageNum
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"人员"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.ManNum>0"
>
成人:
{{
scope
.
row
.
ManNum
}}
</div>
<div
v-if=
"scope.row.ChildNum>0"
>
儿童:
{{
scope
.
row
.
ChildNum
}}
</div>
<div
v-if=
"scope.row.BabyNum>0"
>
婴儿:
{{
scope
.
row
.
BabyNum
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"数量"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
Num
}}
</
template
>
</el-table-column>
<el-table-column
label=
"小计"
min-width=
"70"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
Money
.
toFixed
(
2
)
}}
</
template
>
</el-table-column>
<
template
slot=
"append"
v-if=
"item.Remark"
>
<div
style=
"padding:10px;color:#f1416c"
>
客户备注:
{{
item
.
Remark
}}
</div>
</
template
>
</el-table>
</div>
<el-table
:data=
"[item]"
style=
"width:100%"
border
v-if=
"item.OrderStatus!=3"
>
<el-table-column
label=
"实收"
min-width=
"100"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
Income
?
scope
.
row
.
Income
:
"-"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"平台税金"
min-width=
"100"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
PlatformTax
?
scope
.
row
.
PlatformTax
:
"-"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"退款"
min-width=
"100"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
Refund
?
scope
.
row
.
Refund
:
"-"
}}
</span>
</
template
>
</el-table-column>
</el-table>
<div
class=
"row justify-sb mt mb20"
>
<div
class=
"column px15 bgf5 radius5 flex-g pa relative"
>
<div
class=
"fz12"
>
收款单据
</div>
<div
class=
"row wrap orderNo fz12 py"
>
<span
class=
"cursor-pointer radius5 mr px5"
:class=
"{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}"
v-for=
"(x, i) in item.IncomeList"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span
>
<span
v-if=
"item.IncomeList.length == 0"
class=
"c9e fz12"
>
暂无收款单据
</span>
</div>
<el-tooltip
v-if=
"item.OrderStatus == 2"
class=
"item"
effect=
"dark"
content=
"制单"
placement=
"top"
>
<i
class=
"absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
@
click=
"makeAdocument(item, index, 1)"
></i>
</el-tooltip>
</div>
<div
class=
"column px15 bgf5 radius5 ml flex-g pa relative"
>
<div
class=
"fz12"
>
退款单据
</div>
<div
class=
"row wrap orderNo fz12 py"
>
<span
class=
"cursor-pointer radius5 mr px5"
:class=
"{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}"
v-for=
"(x, i) in item.RefundList"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span
>
<span
v-if=
"item.RefundList.length == 0"
class=
"c9e fz12"
>
暂无退款单据
</span>
</div>
<el-tooltip
v-if=
"item.OrderStatus == 2"
class=
"item"
effect=
"dark"
content=
"制单"
placement=
"top"
>
<i
class=
"absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
@
click=
"makeAdocument(item, index, 2)"
></i>
</el-tooltip>
</div>
<div
class=
"column px15 bgf5 radius5 ml flex-g pa relative"
>
<div
class=
"fz12"
>
成本单据
</div>
<div
class=
"row wrap orderNo fz12 py"
>
<span
class=
"cursor-pointer radius5 mr px5"
:class=
"{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}"
v-for=
"(x, i) in item.CostList"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span
>
<span
v-if=
"item.CostList.length == 0"
class=
"c9e fz12"
>
暂无成本单据
</span>
</div>
<el-tooltip
v-if=
"item.OrderStatus == 2&&pagesTitle!='销售'"
class=
"item"
effect=
"dark"
content=
"制单"
placement=
"top"
>
<i
class=
"absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
@
click=
"makeAdocument(item, index, 2)"
></i>
</el-tooltip>
</div>
<div
class=
"column justify-c px15 bgf5 radius5 ml flex-g pa20"
>
<div
class=
"row-c justify-sb pb5"
>
<span
class=
"fz12 c9e"
>
订单总金额
</span>
<div
class=
"ml"
>
<span
class=
"fz15 fbold"
>
{{ item.Money.toFixed(2) }}
</span>
<span
class=
"fz12 ml"
>
{{item.CurrencyName}}
</span>
</div>
</div>
</div>
<div
v-if=
"item.OrderStatus > 0 && item.OrderStatus < 4 && item.OrderStatus!=3"
class=
"column justify-c px15 bgE8F5E9 radius5 ml fz12 orderop pa20 flex-s"
>
<div
v-if=
"
item.OrderStatus == 1 &&
item.IncomeList.length == 0 &&
item.RefundList.length == 0 &&
item.CostList.length == 0
"
class=
"row-c cursor-pointer radius5 cancel py5"
@
click=
"clickRightButtom(item, 0)"
>
<i
v-loading=
"msg.OrderId==item.OrderId&&loading0"
></i>
<span
class=
"cF1416C"
>
取消订单
</span>
</div>
<div
v-if=
"item.OrderStatus == 1&&pagesTitle!='销售'"
class=
"row-c cursor-pointer radius5 confirm py5"
@
click=
"clickRightButtom(item, 1)"
>
<i
v-loading=
"msg.OrderId==item.OrderId&&loading1"
></i>
<span
class=
"c20C997"
>
确认订单
</span>
</div>
<div
v-if=
"item.OrderStatus == 1&&pagesTitle=='销售'"
class=
"row-c cursor-pointer radius5 change py5"
@
click=
"goRoomDetails(item, '变更订单')"
>
<span
class=
"c059FF6"
>
订单变更
</span>
</div>
<div
v-if=
"item.OrderStatus > 1"
class=
"row-c cursor-pointer radius5 change1 py5"
@
click=
"clickRightButtom(item, 2)"
>
<i
v-loading=
"msg.OrderId==item.OrderId&&loading2"
></i>
<span
class=
"c20C997"
>
收损
</span>
</div>
</div>
</div>
<div
class=
"mt mb20 bgf5 pa15 row-c"
v-if=
"item.CancelRemark"
>
<div
style=
"font-size:16px;font-weight:bold;font-family: pingfangR;"
>
取消理由:
</div>
<div
style=
"margin-left:12px;font-size:12px;color: grey; font-family: microsoft yahei;"
>
{{item.CancelRemark}}
</div>
<div
style=
"margin-left:12px;font-size:12px;font-family: microsoft yahei;"
>
{{item.CancelEmpName}} {{item.CancelTime}}
</div>
</div>
</div>
<el-dialog
custom-class=
"w400"
title=
"设置收损金额"
:visible
.
sync=
"outerVisible"
>
<div>
<el-form
label-width=
"80px"
:model=
"msg"
:rules=
"rules"
ref=
"msg"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"20"
>
<el-form-item
label=
"收损金额"
prop=
"LossMoney"
>
<el-input-number
class=
"w200"
v-model=
"msg.LossMoney"
:min=
"0"
:max=
"10000000"
></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
style=
"margin-top: 20px;margin-bottom: 20px;"
>
<el-col
:span=
"24"
style=
"text-align: right;"
>
<input
type=
"button"
class=
"normalBtn"
value=
"保存"
@
click=
"submitForm('msg')"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"取消"
@
click=
"(outerVisible = false), $refs['msg'].resetFields()"
/>
</el-col>
</el-row>
</el-form>
</div>
</el-dialog>
<el-dialog
custom-class=
"w600"
title=
"取消订单"
:visible
.
sync=
"cancelOrderDialog"
>
<div
style=
"padding-bottom:20px"
>
<el-input
type=
"textarea"
autofocus
rows=
"5"
placeholder=
"请填写取消订单的缘由"
clear=
"w300"
v-model=
"cancelRemark"
></el-input>
<el-row
:gutter=
"20"
style=
"margin-top: 20px;"
>
<el-col
:span=
"24"
style=
"text-align: right;"
>
<input
type=
"button"
class=
"normalBtn"
value=
"取消订单"
@
click=
"cancelOrderHandler"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"关闭"
@
click=
"cancelOrderDialog = false"
/>
</el-col>
</el-row>
</div>
</el-dialog>
</div>
</template>
<
script
>
export
default
{
props
:
[
"OrderList"
,
"pagesTitle"
],
data
()
{
return
{
copyId
:
0
,
loading0
:
false
,
loading1
:
false
,
loading2
:
false
,
loading3
:
false
,
BillMakingMsg
:
{
// PeroidsId: null,
// Type: null,
// EmpIds:'',
OtherType
:
61
,
ReFinanceId
:
""
,
ReFinanceId2
:
""
},
userInfo
:
{},
msg
:
{
OrderId
:
""
,
LossMoney
:
0
,
State
:
''
,
//状态 1确认 2已邮寄 3设置自提 4收损
SelffetchAddress
:
''
},
msgParameter
:
{
IsUpdateMailing
:
1
,
OrderId
:
0
,
Money
:
0.0
,
Remark
:
''
,
MailingState
:
'1'
,
//邮寄状态 1自取 2邮寄
MailingAddress
:
''
,
//MailingState =2 填写邮寄
UseDate
:
''
,
//门票日期
Name
:
''
,
EName
:
''
,
Sex
:
'1'
,
//1男2女
Birthday
:
''
,
Mobile
:
''
,
CouponsId
:
''
,
//景点id
DetailList
:[],
},
rules2
:{
Name
:
[{
required
:
true
,
message
:
'请输入中文名'
,
trigger
:
'blur'
}],
EName
:
[{
required
:
true
,
message
:
'请输入英文名'
,
trigger
:
'blur'
}],
Mobile
:
[
{
required
:
true
,
message
:
"请输入联系电话"
,
trigger
:
"blur"
},
{
pattern
:
this
.
$commonUtils
.
Regex
.
el_ISphone
,
message
:
"请输入正确的电话"
}
],
MailingAddress
:
[{
required
:
true
,
message
:
'请输入邮寄地址'
,
trigger
:
'blur'
}],
},
outerVisible
:
false
,
rules
:
{
State
:
[
{
required
:
true
,
message
:
"请选择订单状态"
,
trigger
:
"change"
}
],
SelffetchAddress
:
[
{
required
:
true
,
message
:
"请输入自提地址"
,
trigger
:
"blur"
}
],
LossMoney
:
[
{
required
:
true
,
message
:
"请输入收损金额"
,
trigger
:
"blur"
}
]
},
cancelOrderDialog
:
false
,
cancelRemark
:
""
,
cancelOrderId
:
0
,
uploadOrderId
:
0
,
loading
:
false
,
fileList
:[],
GuestFile
:
''
,
ChangeOrderDialog
:
false
,
OrderStatusType
:[
{
Name
:
this
.
$t
(
'OrderList.orderStatus.apply'
),
ID
:
'1'
},
{
Name
:
this
.
$t
(
'OrderList.orderStatus.check'
),
ID
:
'2'
},
{
Name
:
this
.
$t
(
'OrderList.orderStatus.cancel'
),
ID
:
'3'
},
{
Name
:
this
.
$t
(
'OrderList.orderStatus.sun'
),
ID
:
'4'
},
],
items
:
null
,
typeState
:
''
,
Title
:
''
};
},
watch
:
{
pagesTitle
(
val
,
oldval
){
this
.
Title
=
val
},
OrderList
:{
handler
(
val
,
oldVal
){
}
}
},
methods
:
{
submit2
(){
if
(
this
.
loading3
)
return
this
.
$refs
[
'msgParameter'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
setFormMsg2
()
}
else
{
return
false
;
}
});
},
setFormMsg2
(){
if
(
this
.
msgParameter
.
MailingState
==
'1'
){
this
.
msgParameter
.
MailingAddress
=
''
}
let
m
=
{
IsUpdateMailing
:
1
,
OrderId
:
this
.
msgParameter
.
OrderId
,
CouponsId
:
this
.
msgParameter
.
CouponsId
,
Money
:
this
.
msgParameter
.
Money
,
UseDate
:
this
.
msgParameter
.
UseDate
,
Birthday
:
this
.
msgParameter
.
Birthday
,
DetailList
:
this
.
msgParameter
.
DetailList
,
MailingState
:
this
.
msgParameter
.
MailingState
,
//邮寄状态 1自取 2邮寄
MailingAddress
:
this
.
msgParameter
.
MailingAddress
,
//MailingState =2 填写邮寄
Name
:
this
.
msgParameter
.
Name
,
EName
:
this
.
msgParameter
.
EName
,
Sex
:
this
.
msgParameter
.
Sex
,
//1男2女
Mobile
:
this
.
msgParameter
.
Mobile
,
Remark
:
this
.
msgParameter
.
Remark
,
}
this
.
loading3
=
true
this
.
apipost
(
"ticket_post_SetSaleTicketOrder"
,
m
,
res
=>
{
this
.
loading3
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
'变更成功'
);
this
.
$emit
(
'success'
)
this
.
ChangeOrderDialog
=
false
}
else
{
this
.
Error
(
'变更失败'
)
}
},
err
=>
{
this
.
loading3
=
false
this
.
Error
(
err
.
message
)
});
},
uploadFileBtn
(
file
){
let
ft
=
file
.
file
.
name
.
substring
(
file
.
file
.
name
.
lastIndexOf
(
'.'
)
+
1
,
file
.
file
.
name
.
length
).
toUpperCase
();
let
typeOk
=
false
;
let
FileName
=
file
.
file
.
name
.
substring
(
0
,
file
.
file
.
name
.
lastIndexOf
(
"."
))
let
newArr
=
[];
newArr
.
push
(
file
.
file
)
let
path
=
"/Upload/Temporary/"
this
.
$message
.
info
(
this
.
$t
(
'tips.shangchuanzhong'
))
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
this
.
GuestFile
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
this
.
uploadHandleChange
()
},
1
);
},
// 上传旅客名单
uploadHandleChange
(){
if
(
this
.
loading
)
return
let
msg
=
{
OrderId
:
this
.
uploadOrderId
,
GuestFileList
:
[
this
.
GuestFile
]
}
this
.
loading
=
true
this
.
apipost
(
"dict_post_SetSaleOrderGuestFile"
,
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
uploadOrderId
=
0
this
.
GuestFile
=
''
this
.
$emit
(
"success"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{
this
.
loading
=
false
;
}
);
},
// 单据详情
openDetails
(
item
)
{
let
query
=
{
id
:
item
.
FrID
};
this
.
$router
.
push
({
path
:
"/FinancialDocumentsDetail"
,
query
});
},
// 制作单据
makeAdocument
(
row
,
index
,
num
,
name
)
{
this
.
BillMakingMsg
.
ReFinanceId
=
row
.
OrderId
;
this
.
BillMakingMsg
.
ReFinanceId2
=
num
;
this
.
BillMakingMsg
.
OtherType
=
67
;
let
text
=
""
;
let
query
=
{};
if
(
num
==
1
)
{
text
=
"收款"
;
}
else
if
(
num
==
2
)
{
text
=
"付款"
;
}
else
if
(
num
==
3
)
{
text
=
"成本"
;
}
query
=
{
blank
:
"y"
,
tab
:
`新增
${
text
}
单据`
,
Type
:
num
,
tradeObj
:
JSON
.
stringify
(
this
.
BillMakingMsg
)
};
this
.
$store
.
commit
(
"ChoiceAddFinancialDocuments"
);
this
.
$router
.
push
({
path
:
"/ChoiceAddFinancialDocuments"
,
query
});
},
// 订单明细
goRoomDetails
(
obj
,
title
)
{
var
path
if
(
title
===
'订房详情'
){
path
=
"roomReservationsDetails"
;
if
(
this
.
userInfo
.
RB_Group_id
==
91
)
{
path
=
"roomReservationsDetails_swt"
;
}
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
obj
.
OrderId
,
OrderType
:
1
,
blank
:
"y"
,
tab
:
title
}
});
}
else
{
//变更预定
console
.
log
()
this
.
$router
.
push
({
name
:
'CharterPreview'
,
query
:
{
OrderId
:
obj
.
OrderId
,
id
:
obj
.
ProductId
,
blank
:
"y"
,
tab
:
title
}
});
}
},
clickRightButtom
(
item
,
type
)
{
// 0取消订单 1确认订单 2收损
this
.
msg
.
OrderId
=
item
.
OrderId
;
this
.
msg
.
SelffetchAddress
=
item
.
SelffetchAddress
this
.
items
=
item
this
.
typeState
=
type
if
(
type
==
0
)
{
if
(
!
this
.
loading0
)
{
this
.
cancelOrderId
=
item
.
OrderId
// 销售 OP
if
(
this
.
Title
!=
'销售'
){
this
.
cancelOrderDialog
=
true
;
}
else
{
let
that
=
this
that
.
$confirm
(
`是否确定取消订单?`
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
cancelOrderHandler
()
}).
catch
(
err
=>
{
this
.
loading0
=
false
})
}
}
}
else
if
(
type
==
1
)
{
if
(
!
this
.
loading1
)
{
this
.
confirmFun
(
item
,
type
);
}
}
else
if
(
type
==
2
)
{
if
(
!
this
.
loading2
)
{
this
.
outerVisible
=
true
;
this
.
msg
.
LossMoney
=
item
.
LossMoney
?
item
.
LossMoney
:
0
;
}
}
},
// 销售取消订单
cancelOrder
()
{
let
that
=
this
if
(
this
.
loading0
)
return
;
that
.
$confirm
(
`是否确定取消订单?`
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
loading0
=
true
this
.
apipost
(
"ticket_post_CancelSaleTicketOrder"
,
{
OrderId
:
this
.
cancelOrderId
,
IsOPCancel
:
this
.
Title
!=
'销售'
?
1
:
0
,
Remark
:
this
.
cancelRemark
},
res
=>
{
this
.
loading0
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
"success"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
}).
catch
(
err
=>
{
this
.
loading0
=
false
})
}).
catch
(()
=>
{
this
.
loading0
=
false
})
},
//提交
submitForm
(
msg
)
{
//提交创建、修改表单
this
.
$refs
[
msg
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
!
this
.
loading2
)
{
this
.
saveUpdate
();
}
}
else
{
// this.Error("请完成必填项");
return
false
;
}
});
},
cancelOrderHandler
()
{
if
(
this
.
cancelRemark
==
""
&&
this
.
Title
!=
'销售'
)
{
this
.
Error
(
"请填写取消订单的缘由"
);
return
;
}
if
(
this
.
loading0
)
return
;
this
.
loading0
=
true
this
.
apipost
(
"CarSingle_post_CancelSaleCarOrder"
,
{
OrderId
:
this
.
cancelOrderId
,
IsOPCancel
:
this
.
Title
!=
'销售'
?
1
:
0
,
Remark
:
this
.
Title
!=
'销售'
?
this
.
cancelRemark
:
''
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
cancelOrderDialog
=
false
this
.
cancelOrderId
=
0
this
.
cancelRemark
=
''
this
.
$emit
(
"success"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading0
=
false
;
},
err
=>
{
this
.
loading0
=
false
;
}
);
},
saveUpdate
()
{
let
text
=
'是否确认设置收损?'
this
.
$confirm
(
text
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
this
.
loading2
=
true
;
this
.
apipost
(
"CarSingle_post_SetAdminCarOrderState"
,
{
OrderId
:
this
.
msg
.
OrderId
,
State
:
this
.
typeState
,
LossMoney
:
this
.
msg
.
LossMoney
,
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
"success"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading2
=
false
;
this
.
outerVisible
=
false
;
},
err
=>
{
(
this
.
loading2
=
false
),
(
this
.
outerVisible
=
false
);
}
);
})
.
catch
(()
=>
{});
},
confirmFun
(
item
,
type
)
{
let
text
=
'是否确认订单?'
this
.
$confirm
(
text
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
this
.
loading1
=
true
;
this
.
apipost
(
"CarSingle_post_SetAdminCarOrderState"
,
{
OrderId
:
item
.
OrderId
,
State
:
type
,
LossMoney
:
type
==
2
?
this
.
msg
.
LossMoney
:
''
,
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
"success"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading1
=
false
;
},
err
=>
{
this
.
loading1
=
false
;
}
);
})
.
catch
(()
=>
{
this
.
$message
.
info
(
"已取消!"
);
});
},
//复制信息
CopyHandler
(
item
)
{
this
.
copyId
=
item
.
OrderId
;
setTimeout
(()
=>
{
this
.
copyId
=
0
;
},
2000
);
},
setEdate
()
{
return
this
.
addMoth
(
new
Date
().
Format
(
"yyyy-MM-dd"
),
1
);
},
addMoth
(
d
,
m
)
{
let
ds
=
d
.
split
(
"-"
),
_d
=
ds
[
2
]
-
0
;
let
nextM
=
new
Date
(
ds
[
0
],
ds
[
1
]
-
1
+
m
+
1
,
0
);
let
max
=
nextM
.
getDate
();
d
=
new
Date
(
ds
[
0
],
ds
[
1
]
-
1
+
m
,
_d
>
max
?
max
:
_d
);
return
d
.
toLocaleDateString
()
.
match
(
/
\d
+/g
)
.
join
(
"-"
);
},
com_onresize
()
{
//clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
var
contentsHeight
=
document
.
body
.
clientHeight
;
var
h
=
contentsHeight
-
50
-
180
-
40
;
if
(
h
<
110
)
{
return
;
}
//设置table的行高
// this.tableHeight = h;
}
},
mounted
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
//自适应高度调节
this
.
com_onresize
();
window
.
onresize
=
()
=>
{
this
.
com_onresize
();
};
}
};
</
script
>
<
style
></
style
>
\ No newline at end of file
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