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
f73b4f20
Commit
f73b4f20
authored
Aug 09, 2023
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
b2249cf3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1326 additions
and
1389 deletions
+1326
-1389
OrderList.vue
src/components/SingleAirTicket/components/OrderList.vue
+1317
-1347
TicketOrder.vue
src/components/SingleAirTicket/components/TicketOrder.vue
+9
-42
No files found.
src/components/SingleAirTicket/components/OrderList.vue
View file @
f73b4f20
<
style
scoped
>
<
style
scoped
>
.tatusText.grey
{
.tatusText.grey
{
color
:
grey
;
color
:
grey
;
}
}
.tatusText.success
{
.tatusText.success
{
color
:
#21ba45
;
color
:
#21ba45
;
}
}
.tatusText.error
{
.tatusText.error
{
color
:
#f2c037
;
color
:
#f2c037
;
}
}
.tatusText.cancel
{
.tatusText.cancel
{
color
:
#c1c1c1
;
color
:
#c1c1c1
;
}
}
.tatusText.Black
{
.tatusText.Black
{
color
:
Black
;
color
:
Black
;
}
}
.OrderId-text
{
.OrderId-text
{
font-size
:
19px
;
font-size
:
19px
;
/* text-decoration:underline; */
font-weight
:
bold
;
font-weight
:
bold
;
color
:
#2961fe
;
color
:
#2961fe
;
margin-bottom
:
3px
;
margin-bottom
:
3px
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.CreateByName-text.Commission
{
color
:
red
;
margin-top
:
5px
;
margin-bottom
:
5px
;
}
.el-checkbox-group
,
.el-radio-group
{
display
:
flex
!important
;
margin-bottom
:
10px
!important
;
}
.font-color-link
{
cursor
:
pointer
;
}
.OrderType-text
{
font-size
:
11px
;
font-weight
:
100
;
margin-left
:
5px
;
border-radius
:
3px
;
display
:
inline-block
;
padding
:
0
1px
;
}
.line-through
{
text-decoration
:
line-through
;
}
.OrderType-text.one
{
color
:
rgb
(
41
,
97
,
254
);
background-color
:
rgba
(
41
,
97
,
254
,
.2
);
}
.OrderType-text.two
{
color
:
rgb
(
242
,
140
,
29
);
background-color
:
rgba
(
242
,
140
,
29
,
.2
);
}
.OrderType-text.three
{
color
:
rgb
(
63
,
196
,
255
);
background-color
:
rgba
(
63
,
196
,
255
,
.2
);
}
.OrderType-text.four
{
color
:
rgb
(
255
,
111
,
0
);
background-color
:
rgba
(
255
,
111
,
0
,
.2
);
}
.OrderType-text.five
{
color
:
rgb
(
197
,
225
,
165
);
background-color
:
rgba
(
97
,
225
,
165
,
.2
);
}
.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
{
.CreateByName-text.Commission
{
color
:
#f1416c
;
color
:
red
;
}
margin-top
:
5px
;
.cF57A98
{
margin-bottom
:
5px
;
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
;
}
.el-checkbox-group
,
/
deep
/
.el-table
tr
td
{
.el-radio-group
{
border-bottom
:
1px
solid
#EBEEF5
;
display
:
flex
!important
;
margin-bottom
:
10px
!important
;
}
}
.font-color-link
{
.cp
{
cursor
:
pointer
;
cursor
:
pointer
;
}
}
</
style
>
<
template
>
.OrderType-text
{
<div>
font-size
:
11px
;
<div
font-weight
:
100
;
v-for=
"(item, index) in OrderList"
margin-left
:
5px
;
class=
"column bgf radius5 px15 mb20"
border-radius
:
3px
;
>
display
:
inline-block
;
<div
class=
"row-c justify-sb align-c py"
>
padding
:
0
1px
;
<div
class=
"row-c"
>
}
<div>
<!--
<div
.line-through
{
class=
"orderType cf fz12"
text-decoration
:
line-through
;
:class=
"
{ active: item.OrderType == 1,
}
activeB: item.OrderType == 3}"
>
.OrderType-text.one
{
</div>
-->
color
:
rgb
(
41
,
97
,
254
);
<span
background-color
:
rgba
(
41
,
97
,
254
,
.2
);
class=
"orderType OrderType-text cf fz12"
}
:class=
"[items.Id==1?'one':
.OrderType-text.two
{
color
:
rgb
(
242
,
140
,
29
);
background-color
:
rgba
(
242
,
140
,
29
,
.2
);
}
.OrderType-text.three
{
color
:
rgb
(
63
,
196
,
255
);
background-color
:
rgba
(
63
,
196
,
255
,
.2
);
}
.OrderType-text.four
{
color
:
rgb
(
255
,
111
,
0
);
background-color
:
rgba
(
255
,
111
,
0
,
.2
);
}
.OrderType-text.five
{
color
:
rgb
(
197
,
225
,
165
);
background-color
:
rgba
(
97
,
225
,
165
,
.2
);
}
.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
;
}
.cp
{
cursor
:
pointer
;
}
</
style
>
<
template
>
<div>
<div
v-for=
"(item, index) in OrderList"
class=
"column bgf radius5 px15 mb20"
:key=
"index"
>
<div
class=
"row-c justify-sb align-c py"
>
<div
class=
"row-c"
>
<div>
<span
class=
"orderType OrderType-text cf fz12"
:class=
"[items.Id==1?'one':
(items.Id==2?'two':
(items.Id==2?'two':
(items.Id==3?'three':
(items.Id==3?'three':
(items.Id==4?'four':
(items.Id==4?'four':
(items.Id==5?'five':'')))),
{'line-through':items.show}]"
(items.Id==5?'five':'')))),
{'line-through':items.show}]"
v-for="(items,i) in item.MultipleChoiceList"
v-for="(items,i) in item.MultipleChoiceList" :key="i+10000">
>
{{
items
.
Name
}}
{{
items
.
Name
}}
</span>
</span>
</div>
<!--
<span
class=
"OrderType-text"
<div
class=
"c9e fz12"
>
:class=
"[items.Id==1?'one':
<span>
订单Id:
</span>
(items.Id==2?'two':
<span>
{{
item
.
OrderId
}}
</span>
(items.Id==3?'three':
<span
class=
"copy cblack cursor-pointer"
v-if=
"copyId != item.OrderId"
@
click=
"CopyHandler(item)"
>
复制
</span>
(items.Id==4?'four':
<span
class=
"copy c059FF6 bgD9F3FF cursor-pointer"
v-else
><i
class=
"el-icon-check mr"
></i>
已复制
</span>
(items.Id==5?'five':'')))),
{'line-through':items.show}]"
</div>
</div>
v-for="(items,i) in item.MultipleChoiceList">
{{
items
.
Name
}}
</span>
-->
<div
class=
"c9e fz12"
>
</div>
<span>
客人信息:
{{
item
.
GuestName
}}
<template
v-if=
"item.MobilePhone"
>
/
{{
item
.
MobilePhone
}}
</
template
>
</span>
<div
class=
"c9e fz12"
>
</div>
<span>
订单Id:
</span>
<div
class=
"row c9e fz12"
>
<span>
{{
item
.
OrderId
}}
</span>
<span
class=
"mr"
v-if=
"item.LureEmpName"
>
引流人:{{ item.CreateByName }}
</span>
<span
<span>
销售:
</span>
class=
"copy cblack cursor-pointer"
<span
class=
"mr"
>
v-if=
"copyId != item.OrderId"
{{ item.EnterName }}
@
click=
"CopyHandler(item)"
</span>
>
复制
</span
<span>
下单时间:
</span>
>
<span
class=
"mr"
>
{{ item.CreateTime }}
</span>
<span
class=
"copy c059FF6 bgD9F3FF cursor-pointer"
v-else
<div
class=
""
>
><i
class=
"el-icon-check mr"
></i>
已复制
</span
<i
class=
"mx5"
:class=
"{
>
</div>
</div>
<div
class=
"c9e fz12"
>
<span>
客人信息:
{{
item
.
GuestName
}}
<template
v-if=
"item.MobilePhone"
>
/
{{
item
.
MobilePhone
}}
</
template
>
</span>
</div>
<div
class=
"row c9e fz12"
>
<span
class=
"mr"
v-if=
"item.LureEmpName"
>
引流人:{{ item.CreateByName }}
</span>
<span>
销售:
</span>
<span
class=
"mr"
>
{{ item.EnterName }}
</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-alarm-clock c20C997': item.OrderStatus == 1,
'el-icon-warning cff9800': item.OrderStatus == 2,
'el-icon-warning cff9800': item.OrderStatus == 2,
'el-icon-check cblack': item.OrderStatus == 3,
'el-icon-check cblack': item.OrderStatus == 3,
'el-icon-coin cF1416C': item.OrderStatus == 4,
'el-icon-coin cF1416C': item.OrderStatus == 4,
'el-icon-refresh cF1416C': item.OrderStatus == 5,
'el-icon-refresh cF1416C': item.OrderStatus == 5,
'el-icon-refresh cF1416C': item.OrderStatus == 6
'el-icon-refresh cF1416C': item.OrderStatus == 6
}"
}"
>
>
{{item.OrderStatusName}}
{{item.OrderStatusName}}
</i>
<!-- {{item.OrderStatus}} -->
</i>
<!-- <div class="Order-list-Status" :class="item.OrderStatus=='1'?'one':
(item.OrderStatus=='2'?'two':
(item.OrderStatus=='3'?'three':
(item.OrderStatus=='4'?'four':
(item.OrderStatus=='5'?'five':
(item.OrderStatus=='6'?'six':'')))))">
<span>{{item.OrderStatusName}}</span>
</div> -->
</div>
</div>
</div>
</div>
<div
class=
"mb"
>
</div
>
<el-table
:data=
"[item]"
style=
"width:100%"
border
>
</div
>
<el-table-column
<div
class=
"mb"
>
label=
"日期"
<el-table
:data=
"[item]"
style=
"width:100%"
border
>
min-width=
"100"
<el-table-column
label=
"日期"
min-width=
"100"
style=
"background:#EAEAEA"
>
style=
"background:#EAEAEA"
<
template
slot-scope=
"scope"
>
>
<template
>
<
template
slot-scope=
"scope"
>
<
p
class=
"CreateByName-text"
v-if=
"scope.row.DepartTime"
>
出发:
<span>
{{
scope
.
row
.
DepartTime
}}
</span></p
>
<template
>
<p
class=
"CreateByName-text"
v-else-if=
"scope.row.OrderStatus == 5"
>
<p
class=
"CreateByName-text"
v-if=
"scope.row.DepartTime"
>
出发:
<span>
{{
scope
.
row
.
Depart
Time
}}
</span></p>
完结:
<span>
{{
scope
.
row
.
Finish
Time
}}
</span></p>
<p
class=
"CreateByName-text"
v-else-if=
"scope.row.OrderStatus == 5"
>
完结:
<span>
{{
scope
.
row
.
FinishTime
}}
</span></p
>
<p
class=
"CreateByName-text"
v-else-if=
"scope.row.OrderStatus == 6"
>
<p
class=
"CreateByName-text"
v-else-if=
"scope.row.OrderStatus == 6"
>
完结:
<span
>
{{
scope
.
row
.
LossFinishTime
}}
</span></p>
完结:
<span
>
{{
scope
.
row
.
LossFinishTime
}}
</span></p>
<p
class=
"CreateByName-text Commission cp"
v-else-if=
"scope.row.Commission"
@
click=
"commissionDetails(scope.row)"
>
提成:
<span>
{{
scope
.
row
.
Commission
}}
</span></p>
<p
class=
"CreateByName-text Commission cp"
v-else-if=
"scope.row.Commission"
<template
v-else
>
-
</
template
>
@
click=
"commissionDetails(scope.row)"
>
提成:
<span>
{{
scope
.
row
.
Commission
}}
</span></p
>
</template>
<template
v-else
>
-
</
template
>
</template>
</template>
</el-table-column
>
</template
>
<el-table-column
label=
"人数"
>
</el-table-column
>
<
template
slot-scope=
"scope
"
>
<el-table-column
label=
"人数
"
>
{{
scope
.
row
.
GuestCount
}}
<
template
slot-scope=
"scope"
>
</
template
>
{{
scope
.
row
.
GuestCount
}}
</el-table-column
>
</
template
>
<el-table-column
label=
"出行概述"
>
</el-table-column
>
<
template
slot-scope=
"scope
"
>
<el-table-column
label=
"出行概述
"
>
{{
scope
.
row
.
StartCityName
}}
<
template
slot-scope=
"scope"
>
</
template
>
{{
scope
.
row
.
StartCityName
}}
</el-table-column
>
</
template
>
<el-table-column
label=
"应收"
>
</el-table-column
>
<
template
slot-scope=
"scope
"
>
<el-table-column
label=
"应收
"
>
{{
scope
.
row
.
Money
}}
<
template
slot-scope=
"scope"
>
</
template
>
{{
scope
.
row
.
Money
}}
</el-table-column
>
</
template
>
<el-table-column
label=
"实收"
>
</el-table-column
>
<
template
slot-scope=
"scope
"
>
<el-table-column
label=
"实收
"
>
{{
scope
.
row
.
IncomeMoney
}}
<
template
slot-scope=
"scope"
>
</
template
>
{{
scope
.
row
.
IncomeMoney
}}
</el-table-column
>
</
template
>
<el-table-column
label=
"退款"
>
</el-table-column
>
<
template
slot-scope=
"scope
"
>
<el-table-column
label=
"退款
"
>
{{
scope
.
row
.
BackMoney
}}
<
template
slot-scope=
"scope"
>
</
template
>
{{
scope
.
row
.
BackMoney
}}
</el-table-column
>
</
template
>
<el-table-column
label=
"成本"
>
</el-table-column
>
<
template
slot-scope=
"scope
"
>
<el-table-column
label=
"成本
"
>
{{
scope
.
row
.
PayMoney
}}
<
template
slot-scope=
"scope"
>
</
template
>
{{
scope
.
row
.
PayMoney
}}
</el-table-column
>
</
template
>
<el-table-column
label=
"手续费"
>
</el-table-column
>
<
template
slot-scope=
"scope
"
>
<el-table-column
label=
"手续费
"
>
{{
scope
.
row
.
TaxMoney
}}
<
template
slot-scope=
"scope"
>
</
template
>
{{
scope
.
row
.
TaxMoney
}}
</el-table-column
>
</
template
>
<el-table-column
label=
"待收"
>
</el-table-column
>
<
template
slot-scope=
"scope
"
>
<el-table-column
label=
"待收
"
>
<span
:class=
"
{'cF1416C':scope.row.DueinMoney>0}">
{{
scope
.
row
.
DueinMoney
}}
</span
>
<
template
slot-scope=
"scope"
>
</
template
>
<span
:class=
"
{'cF1416C':scope.row.DueinMoney>0}">
{{
scope
.
row
.
DueinMoney
}}
</span
>
</el-table-column
>
</
template
>
<el-table-column
v-if=
"(item.SellCommission&&item.SellCommission>0)||(item.OPCommission&&item.OPCommission>0)"
label=
"提成"
style=
"background:#EAEAEA"
>
</el-table-column
>
<
template
slot-scope=
"scope"
>
<el-table-column
v-if=
"(item.SellCommission&&item.SellCommission>0)||(item.OPCommission&&item.OPCommission>0)"
<div
class=
"width100-float-l"
v-if=
"item.SellCommission&&item.SellCommission>0
"
>
label=
"提成"
style=
"background:#EAEAEA
"
>
<span
class=
"float-l"
>
销售:
</span
>
<
template
slot-scope=
"scope"
>
<commissionDialog
:objNew=
"scope.row"
:OP=
"0"
></commissionDialog
>
<div
class=
"width100-float-l"
v-if=
"item.SellCommission&&item.SellCommission>0"
>
</div
>
<span
class=
"float-l"
>
销售:
</span
>
<div
class=
"width100-float-l"
v-if=
"item.OPCommission&&item.OPCommission>0"
>
<commissionDialog
:objNew=
"scope.row"
:OP=
"0"
></commissionDialog
>
<span
class=
"float-l"
>
OP:
</span
>
</div
>
<commissionDialog
:objNew=
"scope.row"
:OP=
"1"
></commissionDialog
>
<div
class=
"width100-float-l"
v-if=
"item.OPCommission&&item.OPCommission>0"
>
</div
>
<span
class=
"float-l"
>
OP:
</span
>
</
template
>
<commissionDialog
:objNew=
"scope.row"
:OP=
"1"
></commissionDialog
>
</el-table-column
>
</div
>
<el-table-column
label=
"出票状态"
style=
"background:#EAEAEA"
>
</
template
>
<
template
slot-scope=
"scope"
>
</el-table-column
>
<span
@
click=
"scope.row.TicketStatusName!='无需机票'?modifyStatus(scope.row):''"
<el-table-column
label=
"出票状态"
style=
"background:#EAEAEA"
>
class=
"cp tatusText"
<
template
slot-scope=
"scope"
>
:class=
"item.TicketStatus==1?'grey':
<span
@
click=
"scope.row.TicketStatusName!='无需机票'?modifyStatus(scope.row):''"
class=
"cp tatusText"
:class=
"item.TicketStatus==1?'grey':
(scope.row.TicketStatus==2?'success':
(scope.row.TicketStatus==2?'success':
(scope.row.TicketStatus==3?'error':
(scope.row.TicketStatus==3?'error':
(scope.row.TicketStatus==4?'cancel':
(scope.row.TicketStatus==4?'cancel':
(scope.row.TicketStatus==5?'Black':''))))"
>
(scope.row.TicketStatus==5?'Black':''))))"
>
{{
item
.
TicketStatusName
}}
{{
item
.
TicketStatusName
}}
</span>
</span>
<!--
<i
v-if=
"scope.row.TicketStatus!=1&&scope.row.TicketVoucherList!=[]&&scope.row.CancelVoucherList!=[]&&scope.row.TicketStatusName!='无需机票'"
</
template
>
class=
"c3FC4FF cursor-pointer el-icon-document-checked"
</el-table-column>
@
click=
"viewCredentials(scope.row)"
></i>
-->
<el-table-column
label=
"签证状态"
style=
"background:#EAEAEA"
>
</
template
>
<
template
slot-scope=
"scope"
>
</el-table-column>
<span
@
click=
"scope.row.VisaStatus=='1'?AmendVisa(scope.row):''"
class=
"tatusText"
:class=
"scope.row.VisaStatus==1?'grey'+' cursor-pointer':
<el-table-column
label=
"签证状态"
style=
"background:#EAEAEA"
>
<
template
slot-scope=
"scope"
>
<span
@
click=
"scope.row.VisaStatus=='1'?AmendVisa(scope.row):''"
class=
"tatusText"
:class=
"scope.row.VisaStatus==1?'grey'+' cursor-pointer':
(scope.row.VisaStatus==2?'success':
(scope.row.VisaStatus==2?'success':
(scope.row.VisaStatus==0?'Black':''))"
>
(scope.row.VisaStatus==0?'Black':''))"
>
{{
scope
.
row
.
VisaStatus
==
1
?
'未出签'
:(
scope
.
row
.
VisaStatus
==
2
?
'已出签'
:
'无需签证'
)
}}
{{
scope
.
row
.
VisaStatus
==
1
?
'未出签'
:(
scope
.
row
.
VisaStatus
==
2
?
'已出签'
:
'无需签证'
)
}}
</span>
</span>
<i
v-if=
"scope.row.VisaStatus==2"
class=
"c3FC4FF cursor-pointer el-icon-document-checked"
<i
v-if=
"scope.row.VisaStatus==2"
class=
"c3FC4FF cursor-pointer el-icon-document-checked"
@
click=
"CheckOutDetails(scope.row)"
></i>
@
click=
"CheckOutDetails(scope.row)"
></i>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<!-- <el-table-column
<
template
slot=
"append"
v-if=
"item.Remark"
>
label="操作"
<div
style=
"padding:10px;color:#f1416c"
>
客户备注:
{{
item
.
Remark
}}
</div>
min-width="70"
</
template
>
style="background:#EAEAEA"
</el-table>
>
</div>
<template slot-scope="scope">
<div
class=
"row justify-sb mt mb20"
>
<input type="button" class="normalBtn" value="查看"
<div
class=
"column px15 bgf5 radius5 flex-g pa relative"
>
@click="goDetails(scope.row)" />
<div
class=
"fz12"
>
收款单据
</div>
</template>
<div
class=
"row wrap orderNo fz12 py"
>
</el-table-column> !-->
<span
class=
"cursor-pointer radius5 mr px5"
:class=
"{'bgD9F3FF':x.Status==0,'bgFAEAED':x.Status==1,'bjFFF3E0':x.Status==2,
<
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 class="fz15 fbold">{{ scope.row.Income ? scope.row.Income : "-" }}</span>
</template>
</el-table-column>
<el-table-column label="成本" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{ scope.row.CostMoney ? scope.row.CostMoney : "-" }}</span>
</template>
</el-table-column>
<el-table-column label="平台税金" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{
scope.row.PlatformTax ? scope.row.PlatformTax : "-"
}}</span>
</template>
</el-table-column>
<el-table-column label="退款" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{ scope.row.Refund ? scope.row.Refund : "-" }}</span>
</template>
</el-table-column>
<el-table-column label="利润" min-width="100">
<template slot-scope="scope">
<span class="fz15 fbold">{{ scope.row.Income-scope.row.CostMoney-scope.row.Refund>0?scope.row.Income-scope.row.CostMoney-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==0,'bgFAEAED':x.Status==1,'bjFFF3E0':x.Status==2,
'c3FC4FF':x.Status==0,'cF1416C':x.Status==1,'cff9800':x.Status==2}"
v-for=
"(x, i) in item.IncomeFinance"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span
>
<span
v-if=
"item.IncomeFinance.length == 0"
class=
"c9e fz12"
>
暂无收款单据
</span>
</div>
<!--<el-tooltip
v-if="item.OrderStatus!=2&&item.OrderStatus!=5&&item.OrderStatus!=6"
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==0,'bgFAEAED':x.Status==1,'bjFFF3E0':x.Status==2,
'c3FC4FF':x.Status==0,'cF1416C':x.Status==1,'cff9800':x.Status==2}"
v-for=
"(x, i) in item.BackFinance"
@
click=
"openDetails(x)"
>
{{ x.FrID }}
</span
>
<span
v-if=
"item.BackFinance.length == 0"
class=
"c9e fz12"
>
暂无退款单据
</span>
</div>
<!-- <el-tooltip
v-if="item.OrderStatus!=2&&item.OrderStatus!=5&&item.OrderStatus!=6"
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==0,'bgFAEAED':x.Status==1,'bjFFF3E0':x.Status==2,
'c3FC4FF':x.Status==0,'cF1416C':x.Status==1,'cff9800':x.Status==2}"
'c3FC4FF':x.Status==0,'cF1416C':x.Status==1,'cff9800':x.Status==2}"
v-for=
"(x, i) in item.PayFinance"
v-for=
"(x, i) in item.IncomeFinance"
@
click=
"openDetails(x)"
:key=
"i+20000"
>
{{ x.FrID }}
</span>
@
click=
"openDetails(x)"
<span
v-if=
"item.IncomeFinance.length == 0"
class=
"c9e fz12"
>
>
{{ x.FrID }}
</span
暂无收款单据
>
</span>
<span
v-if=
"item.PayFinance.length == 0"
class=
"c9e fz12"
>
</div>
暂无成本单据
</span>
</div>
</div>
<div
class=
"column px15 bgf5 radius5 ml flex-g pa relative"
>
<!-- <div class="item absolute right20 bottom20" v-if="item.OrderStatus!=2&&item.OrderStatus!=5&&item.OrderStatus!=6 && pagesTitle != '销售'">
<div
class=
"fz12"
>
退款单据
</div>
<el-tooltip class="" effect="dark" content="制单"
<div
class=
"row wrap orderNo fz12 py"
>
placement="top">
<span
class=
"cursor-pointer radius5 mr px5"
:class=
"{'bgD9F3FF':x.Status==0,'bgFAEAED':x.Status==1,'bjFFF3E0':x.Status==2,
<i class="el-icon-circle-plus cursor-pointer c059FF6"
'c3FC4FF':x.Status==0,'cF1416C':x.Status==1,'cff9800':x.Status==2}"
v-for=
"(x, i) in item.BackFinance"
@click="makeAdocument(item, index, 3)"></i>
@
click=
"openDetails(x)"
:key=
"i+30000"
>
{{ x.FrID }}
</span>
</el-tooltip>
<span
v-if=
"item.BackFinance.length == 0"
class=
"c9e fz12"
>
<el-tooltip class="" effect="dark" content="冲抵" placement="top">
暂无退款单据
<i class="el-icon-circle-plus cursor-pointer c3FC4FF"
</span>
@click="isOffset(item, index, 3)"></i>
</div>
</el-tooltip>
</div> -->
</div>
</div>
<div
class=
"column px15 bgf5 radius5 ml flex-g pa relative"
>
<div
class=
"column justify-c px15 bgf5 radius5 ml flex-g pa20"
style=
"min-width: 230px;"
>
<div
class=
"fz12"
>
成本单据
</div>
<div
class=
"row-c justify-sb pb5"
:class=
"{'borderD':item.DiscountsMoney>0}"
>
<div
class=
"row wrap orderNo fz12 py"
>
<span
class=
"fz12 c9e"
>
订单总金额
</span>
<span
class=
"cursor-pointer radius5 mr px5"
:class=
"{'bgD9F3FF':x.Status==0,'bgFAEAED':x.Status==1,'bjFFF3E0':x.Status==2,
<div
class=
"ml"
>
'c3FC4FF':x.Status==0,'cF1416C':x.Status==1,'cff9800':x.Status==2}"
v-for=
"(x, i) in item.PayFinance"
<span
class=
"fz15 fbold"
>
{{ item.Money.toFixed(2) }}
</span>
@
click=
"openDetails(x)"
:key=
"i+40000"
>
{{ x.FrID }}
</span>
<span
class=
"fz12 ml"
>
<span
v-if=
"item.PayFinance.length == 0"
class=
"c9e fz12"
>
{{item.CurrencyName}}
暂无成本单据
</span>
</span>
</div>
</div>
</div>
</div>
<div
<div
class=
"column px15 bgf5 radius5 ml flex-g pa relative"
>
class=
"row-c justify-sb py5"
<div
class=
"fz12"
>
发票单据
</div>
v-if=
"item.DiscountsMoney>0"
<div
class=
"row wrap orderNo fz12 py"
>
>
<span
class=
"cursor-pointer radius5 mr px5"
:class=
"{'bgD9F3FF':x.InvoiceApplyState==0,'bgFAEAED':x.InvoiceApplyState==1,'bjFFF3E0':x.InvoiceApplyState==2,
<span
class=
"fz12 c9e"
>
优惠金额
</span>
'c3FC4FF':x.InvoiceApplyState==0,'cF1416C':x.InvoiceApplyState==1,'cff9800':x.InvoiceApplyState==2}"
<div
class=
"ml"
>
v-for=
"(x, i) in item.InvoiceApplyList"
@
click=
"goInvoiceDetail(x)"
:key=
"i+40000"
>
{{ x.ID }}
</span>
<span
class=
"fz14"
>
{{ item.DiscountsMoney.toFixed(2) }}
</span>
<span
v-if=
"item.InvoiceApplyList.length == 0"
class=
"c9e fz12"
>
<span
class=
"fz12"
>
{{ item.CurrencyName }}
</span>
暂无发票单据
</div>
</span>
</div>
</div>
</div>
<div
class=
"column justify-c px15 bgf5 radius5 ml flex-g pa20"
style=
"min-width: 230px;"
>
<div
class=
"row-c justify-sb pb5"
:class=
"{'borderD':item.DiscountsMoney>0}"
>
<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>
<div
class=
"
mt mb20 bgf5 pa15 row-c"
v-if=
"item.CancelRemark
"
>
<div
class=
"
row-c justify-sb py5"
v-if=
"item.DiscountsMoney>0
"
>
<
div
style=
"font-size:16px;font-weight:bold;font-family: pingfangR;"
>
取消理由:
</div
>
<
span
class=
"fz12 c9e"
>
优惠金额
</span
>
<div
style=
"margin-left:12px;font-size:12px;color: grey; font-family: microsoft yahei;"
>
{{item.CancelRemark}}
</div
>
<div
class=
"ml"
>
<div
style=
"margin-left:12px;font-size:12px;font-family: microsoft yahei;"
>
<span
class=
"fz14"
>
{{ item.DiscountsMoney.toFixed(2) }}
</span
>
{{item.CancelEmpName}} {{item.CancelTime}}
<span
class=
"fz12"
>
{{ item.CurrencyName }}
</span>
</div>
</div>
</div>
</div>
</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
<el-dialog
custom-class=
"w400"
title=
"设置收损金额"
:visible
.
sync=
"outerVisible"
>
custom-class=
"w400"
<div>
title=
"设置收损金额"
<el-form
label-width=
"80px"
:model=
"msg"
:rules=
"rules"
ref=
"msg"
>
:visible
.
sync=
"outerVisible"
<el-row
:gutter=
"20"
>
>
<el-col
:span=
"20"
>
<div>
<el-form-item
label=
"收损金额"
prop=
"LossMoney"
>
<el-form
label-width=
"80px"
:model=
"msg"
:rules=
"rules"
ref=
"msg"
>
<el-input-number
class=
"w200"
v-model=
"msg.LossMoney"
:min=
"0"
:max=
"10000000"
></el-input-number>
<el-row
:gutter=
"20"
>
</el-form-item>
<el-col
:span=
"20"
>
</el-col>
<el-form-item
label=
"收损金额"
prop=
"LossMoney"
>
</el-row>
<el-input-number
<el-row
:gutter=
"20"
style=
"margin-top: 20px;margin-bottom: 20px;"
>
class=
"w200"
<el-col
:span=
"24"
style=
"text-align: right;"
>
v-model=
"msg.LossMoney"
<input
type=
"button"
class=
"normalBtn"
value=
"保存"
@
click=
"submitForm('msg')"
/>
:min=
"0"
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"取消"
:max=
"10000000"
@
click=
"(outerVisible = false), $refs['msg'].resetFields()"
/>
></el-input-number>
</el-col>
</el-form-item>
</el-row>
</el-col>
</el-form>
</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>
<offset
:isShow=
"cdState"
:obj=
"queryObj"
@
close=
"cdState=false"
></offset>
</div>
</div>
</template>
</el-dialog>
<
script
>
<el-dialog
custom-class=
"w600"
title=
"取消订单"
:visible
.
sync=
"cancelOrderDialog"
>
import
offset
from
'../../public/offset.vue'
;
<div
style=
"padding-bottom:20px"
>
import
commissionDialog
from
"../../FinancialModule/TradeCommission/commissionDialog"
<el-input
type=
"textarea"
autofocus
rows=
"5"
placeholder=
"请填写取消订单的缘由"
clear=
"w300"
v-model=
"cancelRemark"
>
export
default
{
</el-input>
components
:
{
offset
,
commissionDialog
},
<el-row
:gutter=
"20"
style=
"margin-top: 20px;"
>
props
:
[
"OrderList"
,
"pagesTitle"
],
<el-col
:span=
"24"
style=
"text-align: right;"
>
data
()
{
<input
type=
"button"
class=
"normalBtn"
value=
"取消订单"
@
click=
"cancelOrderHandler"
/>
return
{
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"关闭"
@
click=
"cancelOrderDialog = false"
/>
queryObj
:
null
,
</el-col>
cdState
:
false
,
</el-row>
copyId
:
0
,
</div>
loading0
:
false
,
</el-dialog>
loading1
:
false
,
<offset
:isShow=
"cdState"
:obj=
"queryObj"
@
close=
"cdState=false"
></offset>
loading2
:
false
,
</div>
loading3
:
false
,
</template>
BillMakingMsg
:
{
<
script
>
// PeroidsId: null,
import
offset
from
'../../public/offset.vue'
;
// Type: null,
import
commissionDialog
from
"../../FinancialModule/TradeCommission/commissionDialog"
// EmpIds:'',
export
default
{
OtherType
:
61
,
components
:
{
ReFinanceId
:
""
,
offset
,
ReFinanceId2
:
""
commissionDialog
},
},
userInfo
:
{},
props
:
[
"OrderList"
,
"pagesTitle"
],
msg
:
{
data
()
{
OrderId
:
""
,
return
{
LossMoney
:
0
,
queryObj
:
null
,
State
:
''
,
//状态 1确认 2已邮寄 3设置自提 4收损
cdState
:
false
,
SelffetchAddress
:
''
copyId
:
0
,
loading0
:
false
,
loading1
:
false
,
loading2
:
false
,
loading3
:
false
,
BillMakingMsg
:
{
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'
},
},
msgParameter
:
{
{
IsUpdateMailing
:
1
,
Name
:
this
.
$t
(
'OrderList.orderStatus.check'
),
OrderId
:
0
,
ID
:
'2'
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
:
[{
Name
:
this
.
$t
(
'OrderList.orderStatus.cancel'
),
required
:
true
,
ID
:
'3'
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
:
{
Name
:
this
.
$t
(
'OrderList.orderStatus.sun'
),
State
:
[
ID
:
'4'
{
required
:
true
,
message
:
"请选择订单状态"
,
trigger
:
"change"
}
],
SelffetchAddress
:
[
{
required
:
true
,
message
:
"请输入自提地址"
,
trigger
:
"blur"
}
],
LossMoney
:
[
{
required
:
true
,
message
:
"请输入收损金额"
,
trigger
:
"blur"
}
]
},
},
cancelOrderDialog
:
false
,
],
cancelRemark
:
""
,
items
:
null
,
cancelOrderId
:
0
,
typeState
:
''
,
uploadOrderId
:
0
,
Title
:
''
loading
:
false
,
};
fileList
:[],
},
GuestFile
:
''
,
watch
:
{
ChangeOrderDialog
:
false
,
pagesTitle
(
val
,
oldval
)
{
OrderStatusType
:[
this
.
Title
=
val
{
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
:
{
OrderList
:
{
pagesTitle
(
val
,
oldval
){
handler
(
val
,
oldVal
)
{
this
.
Title
=
val
},
OrderList
:{
handler
(
val
,
oldVal
){
}
}
}
}
},
methods
:
{
// 跳转发票详情页面
goInvoiceDetail
(
item
)
{
this
.
OpenNewPage
(
'/invoicesManagerDetail'
,
{
id
:
item
.
ID
,
InvoiceApplyType
:
4
});
},
},
methods
:
{
goDetails
(
item
)
{
goDetails
(
item
){
let
data
=
[{
let
data
=
[
path
:
"myCustomerOrder"
,
{
OrderId
:
item
.
OrderId
path
:
"myCustomerOrder"
,
},
];
OrderId
:
item
.
OrderId
let
href
=
this
.
domainManager
().
crmRoutingUrl
+
},
];
let
href
=
this
.
domainManager
().
crmRoutingUrl
+
"automaticLogin?token="
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
this
.
getLocalStorage
().
token
+
"&data="
+
"&data="
+
JSON
.
stringify
(
data
);
JSON
.
stringify
(
data
);
window
.
open
(
href
);
window
.
open
(
href
);
},
},
// 签证状态
// 签证状态
AmendVisa
()
{
AmendVisa
()
{
},
},
// 签证
// 签证
CheckOutDetails
()
{
CheckOutDetails
()
{
},
},
// 提成
// 提成
commissionDetails
()
{
commissionDetails
()
{
},
},
// 修改订单状态
// 修改订单状态
modifyStatus
(
row
)
{
modifyStatus
(
row
)
{
},
},
// 查看出票状态
// 查看出票状态
viewCredentials
(
item
)
{
viewCredentials
(
item
)
{
},
},
isOffset
(
row
,
index
,
num
){
isOffset
(
row
,
index
,
num
)
{
this
.
makeAdocument
(
row
,
index
,
num
,
'Offset'
)
this
.
makeAdocument
(
row
,
index
,
num
,
'Offset'
)
},
},
submit2
(){
submit2
()
{
if
(
this
.
loading3
)
return
if
(
this
.
loading3
)
return
this
.
$refs
[
'msgParameter'
].
validate
((
valid
)
=>
{
this
.
$refs
[
'msgParameter'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
setFormMsg2
()
this
.
setFormMsg2
()
}
else
{
}
else
{
return
false
;
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
,
setFormMsg2
()
{
res
=>
{
if
(
this
.
msgParameter
.
MailingState
==
'1'
)
{
this
.
loading
=
false
;
this
.
msgParameter
.
MailingAddress
=
''
if
(
res
.
data
.
resultCode
==
1
)
{
}
this
.
Success
(
res
.
data
.
message
);
let
m
=
{
this
.
uploadOrderId
=
0
IsUpdateMailing
:
1
,
this
.
GuestFile
=
''
OrderId
:
this
.
msgParameter
.
OrderId
,
this
.
$emit
(
"success"
);
CouponsId
:
this
.
msgParameter
.
CouponsId
,
}
else
{
Money
:
this
.
msgParameter
.
Money
,
this
.
Error
(
res
.
data
.
message
);
UseDate
:
this
.
msgParameter
.
UseDate
,
}
Birthday
:
this
.
msgParameter
.
Birthday
,
},
DetailList
:
this
.
msgParameter
.
DetailList
,
err
=>
{
MailingState
:
this
.
msgParameter
.
MailingState
,
//邮寄状态 1自取 2邮寄
this
.
loading
=
false
;
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
openDetails
(
item
)
{
this
.
Error
(
err
.
message
)
let
query
=
{
id
:
item
.
FrID
,
blank
:
"y"
,
};
this
.
$router
.
push
({
path
:
"/FinancialDocumentsDetail"
,
query
});
});
},
},
// 制作单据
uploadFileBtn
(
file
)
{
makeAdocument
(
row
,
index
,
num
,
Offset
)
{
let
ft
=
file
.
file
.
name
.
substring
(
file
.
file
.
name
.
lastIndexOf
(
'.'
)
+
1
,
file
.
file
.
name
.
length
).
toUpperCase
();
if
((
num
==
2
||
num
==
3
)
&&
row
.
IncomeMoney
<=
0
){
let
typeOk
=
false
;
this
.
Info
(
'请先制收款单据,再制成本或退款单据!'
)
let
FileName
=
file
.
file
.
name
.
substring
(
0
,
file
.
file
.
name
.
lastIndexOf
(
"."
))
return
let
newArr
=
[];
}
newArr
.
push
(
file
.
file
)
if
(
Offset
){
let
path
=
"/Upload/Temporary/"
this
.
cdState
=
true
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
;
}
}
let
type
=
0
);
if
(
num
==
3
){
},
// 单据详情
openDetails
(
item
)
{
let
query
=
{
id
:
item
.
FrID
,
blank
:
"y"
,
};
this
.
$router
.
push
({
path
:
"/FinancialDocumentsDetail"
,
query
});
},
// 制作单据
makeAdocument
(
row
,
index
,
num
,
Offset
)
{
if
((
num
==
2
||
num
==
3
)
&&
row
.
IncomeMoney
<=
0
)
{
this
.
Info
(
'请先制收款单据,再制成本或退款单据!'
)
return
}
if
(
Offset
)
{
this
.
cdState
=
true
}
let
type
=
0
if
(
num
==
3
)
{
type
=
2
type
=
2
}
else
{
}
else
{
type
=
num
type
=
num
}
}
let
data
=
{
let
data
=
{
...
@@ -1158,296 +1134,290 @@
...
@@ -1158,296 +1134,290 @@
GuestId
:
row
.
GuestId
,
GuestId
:
row
.
GuestId
,
RelevanceFrId
:
row
.
selectedType
,
// 单据类型
RelevanceFrId
:
row
.
selectedType
,
// 单据类型
}
}
this
.
BillMakingMsg
.
ReFinanceId
=
row
.
OrderId
;
this
.
BillMakingMsg
.
ReFinanceId
=
row
.
OrderId
;
this
.
BillMakingMsg
.
ReFinanceId2
=
num
;
this
.
BillMakingMsg
.
ReFinanceId2
=
num
;
this
.
BillMakingMsg
.
OtherType
=
55
;
this
.
BillMakingMsg
.
OtherType
=
55
;
let
text
=
""
;
let
text
=
""
;
let
query
=
{};
let
query
=
{};
if
(
num
==
1
)
{
if
(
num
==
1
)
{
text
=
"收款"
;
text
=
"收款"
;
}
else
if
(
num
==
2
)
{
}
else
if
(
num
==
2
)
{
text
=
"付款"
;
text
=
"付款"
;
}
else
if
(
num
==
3
)
{
}
else
if
(
num
==
3
)
{
text
=
"成本"
;
text
=
"成本"
;
}
}
query
=
{
query
=
{
blank
:
"y"
,
blank
:
"y"
,
tab
:
`新增
${
text
}
单据`
,
tab
:
`新增
${
text
}
单据`
,
Type
:
type
,
Type
:
type
,
crmOrderObj
:
JSON
.
stringify
(
data
)
crmOrderObj
:
JSON
.
stringify
(
data
)
};
};
this
.
$store
.
commit
(
"ChoiceAddFinancialDocuments"
);
this
.
$router
.
push
({
path
:
"/ChoiceAddFinancialDocuments"
,
query
});
return
this
.
queryObj
=
query
if
(
!
Offset
)
{
this
.
$store
.
commit
(
"ChoiceAddFinancialDocuments"
);
this
.
$store
.
commit
(
"ChoiceAddFinancialDocuments"
);
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
"/ChoiceAddFinancialDocuments"
,
path
:
"/ChoiceAddFinancialDocuments"
,
query
query
});
});
return
}
this
.
queryObj
=
query
},
if
(
!
Offset
){
// 订单明细
this
.
$store
.
commit
(
"ChoiceAddFinancialDocuments"
);
goRoomDetails
(
obj
,
title
)
{
this
.
$router
.
push
({
var
path
path
:
"/ChoiceAddFinancialDocuments"
,
if
(
title
===
'订房详情'
)
{
query
path
=
"roomReservationsDetails"
;
});
if
(
this
.
userInfo
.
RB_Group_id
==
91
)
{
}
path
=
"roomReservationsDetails_swt"
;
},
// 订单明细
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
{
//变更预定
this
.
$router
.
push
({
name
:
'CharterPreview'
,
query
:
{
OrderId
:
obj
.
OrderId
,
id
:
obj
.
ProductId
,
blank
:
"y"
,
tab
:
title
}
});
}
}
},
this
.
$router
.
push
({
clickRightButtom
(
item
,
type
)
{
name
:
path
,
// 0取消订单 1确认订单 2收损
query
:
{
this
.
msg
.
OrderId
=
item
.
OrderId
;
id
:
obj
.
OrderId
,
this
.
msg
.
SelffetchAddress
=
item
.
SelffetchAddress
OrderType
:
1
,
this
.
items
=
item
blank
:
"y"
,
this
.
typeState
=
type
tab
:
title
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
)
{
}
else
{
//变更预定
this
.
confirmFun
(
item
,
type
);
this
.
$router
.
push
({
name
:
'CharterPreview'
,
query
:
{
OrderId
:
obj
.
OrderId
,
id
:
obj
.
ProductId
,
blank
:
"y"
,
tab
:
title
}
}
}
else
if
(
type
==
2
)
{
});
if
(
!
this
.
loading2
)
{
}
this
.
outerVisible
=
true
;
},
this
.
msg
.
LossMoney
=
item
.
LossMoney
?
item
.
LossMoney
:
0
;
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
)
{
cancelOrder
()
{
this
.
confirmFun
(
item
,
type
);
let
that
=
this
}
if
(
this
.
loading0
)
return
;
}
else
if
(
type
==
2
)
{
that
.
$confirm
(
`是否确定取消订单?`
,
'提示'
,
{
if
(
!
this
.
loading2
)
{
confirmButtonText
:
'确定'
,
this
.
outerVisible
=
true
;
cancelButtonText
:
'取消'
,
this
.
msg
.
LossMoney
=
item
.
LossMoney
?
item
.
LossMoney
:
0
;
type
:
'warning'
}
}).
then
(()
=>
{
}
this
.
loading0
=
true
},
this
.
apipost
(
"ticket_post_CancelSaleTicketOrder"
,
{
// 销售取消订单
OrderId
:
this
.
cancelOrderId
,
cancelOrder
()
{
IsOPCancel
:
this
.
Title
!=
'销售'
?
1
:
0
,
let
that
=
this
Remark
:
this
.
cancelRemark
if
(
this
.
loading0
)
return
;
},
that
.
$confirm
(
`是否确定取消订单?`
,
'提示'
,
{
res
=>
{
confirmButtonText
:
'确定'
,
this
.
loading0
=
false
cancelButtonText
:
'取消'
,
if
(
res
.
data
.
resultCode
==
1
)
{
type
:
'warning'
this
.
Success
(
res
.
data
.
message
);
}).
then
(()
=>
{
this
.
$emit
(
"success"
);
this
.
loading0
=
true
}
else
{
this
.
apipost
(
"ticket_post_CancelSaleTicketOrder"
,
{
this
.
Error
(
res
.
data
.
message
);
OrderId
:
this
.
cancelOrderId
,
}
IsOPCancel
:
this
.
Title
!=
'销售'
?
1
:
0
,
}).
catch
(
err
=>
{
Remark
:
this
.
cancelRemark
this
.
loading0
=
false
},
})
res
=>
{
}).
catch
(()
=>
{
this
.
loading0
=
false
this
.
loading0
=
false
})
if
(
res
.
data
.
resultCode
==
1
)
{
},
this
.
Success
(
res
.
data
.
message
);
//提交
this
.
$emit
(
"success"
);
submitForm
(
msg
)
{
}
else
{
//提交创建、修改表单
this
.
Error
(
res
.
data
.
message
);
this
.
$refs
[
msg
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
!
this
.
loading2
)
{
this
.
saveUpdate
();
}
}
}).
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
{
}
else
{
// this.Error("请完成必填项");
this
.
Error
(
res
.
data
.
message
);
return
false
;
}
}
});
this
.
loading0
=
false
;
},
},
cancelOrderHandler
()
{
err
=>
{
if
(
this
.
cancelRemark
==
""
&&
this
.
Title
!=
'销售'
)
{
this
.
loading0
=
false
;
this
.
Error
(
"请填写取消订单的缘由"
);
return
;
}
}
if
(
this
.
loading0
)
return
;
);
this
.
loading0
=
true
},
this
.
apipost
(
saveUpdate
()
{
"CarSingle_post_CancelSaleCarOrder"
,
let
text
=
'是否确认设置收损?'
{
this
.
$confirm
(
text
,
"提示"
,
{
OrderId
:
this
.
cancelOrderId
,
confirmButtonText
:
"确定"
,
IsOPCancel
:
this
.
Title
!=
'销售'
?
1
:
0
,
cancelButtonText
:
"取消"
,
Remark
:
this
.
Title
!=
'销售'
?
this
.
cancelRemark
:
''
type
:
"warning"
})
.
then
(()
=>
{
this
.
loading2
=
true
;
this
.
apipost
(
"CarSingle_post_SetAdminCarOrderState"
,
{
OrderId
:
this
.
msg
.
OrderId
,
State
:
this
.
typeState
,
LossMoney
:
this
.
msg
.
LossMoney
,
},
},
res
=>
{
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
Success
(
res
.
data
.
message
);
this
.
cancelOrderDialog
=
false
this
.
cancelOrderId
=
0
this
.
cancelRemark
=
''
this
.
$emit
(
"success"
);
this
.
$emit
(
"success"
);
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
Error
(
res
.
data
.
message
);
}
}
this
.
loading0
=
false
;
this
.
loading2
=
false
;
this
.
outerVisible
=
false
;
},
},
err
=>
{
err
=>
{
this
.
loading0
=
false
;
(
this
.
loading2
=
false
),
(
this
.
outerVisible
=
false
)
;
}
}
);
);
},
saveUpdate
()
{
let
text
=
'是否确认设置收损?'
this
.
$confirm
(
text
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
})
.
then
(()
=>
{
.
catch
(()
=>
{});
this
.
loading2
=
true
;
},
this
.
apipost
(
confirmFun
(
item
,
type
)
{
"CarSingle_post_SetAdminCarOrderState"
,
let
text
=
'是否确认订单?'
{
this
.
$confirm
(
text
,
"提示"
,
{
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
:
"确定"
,
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
type
:
"warning"
})
})
.
then
(()
=>
{
.
then
(()
=>
{
this
.
loading1
=
true
;
this
.
loading1
=
true
;
this
.
apipost
(
this
.
apipost
(
"CarSingle_post_SetAdminCarOrderState"
,
"CarSingle_post_SetAdminCarOrderState"
,
{
{
OrderId
:
item
.
OrderId
,
OrderId
:
item
.
OrderId
,
State
:
type
,
State
:
type
,
LossMoney
:
type
==
2
?
this
.
msg
.
LossMoney
:
''
,
LossMoney
:
type
==
2
?
this
.
msg
.
LossMoney
:
''
,
},
},
res
=>
{
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
Success
(
res
.
data
.
message
);
this
.
$emit
(
"success"
);
this
.
$emit
(
"success"
);
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading1
=
false
;
},
err
=>
{
this
.
loading1
=
false
;
}
}
);
this
.
loading1
=
false
;
})
},
.
catch
(()
=>
{
err
=>
{
this
.
$message
.
info
(
"已取消!"
);
this
.
loading1
=
false
;
});
}
},
);
//复制信息
})
CopyHandler
(
item
)
{
.
catch
(()
=>
{
this
.
copyId
=
item
.
OrderId
;
this
.
$message
.
info
(
"已取消!"
);
let
copyText
=
item
.
OrderId
;
});
const
save
=
function
(
e
)
{
},
e
.
clipboardData
.
setData
(
'text/plain'
,
copyText
)
//复制信息
e
.
preventDefault
()
// 阻止默认行为
CopyHandler
(
item
)
{
}
this
.
copyId
=
item
.
OrderId
;
document
.
addEventListener
(
'copy'
,
save
)
// 添加一个copy事件
let
copyText
=
item
.
OrderId
;
let
x
=
document
.
execCommand
(
'copy'
)
// 执行copy方法
const
save
=
function
(
e
)
{
setTimeout
(()
=>
{
e
.
clipboardData
.
setData
(
'text/plain'
,
copyText
)
this
.
copyId
=
0
;
e
.
preventDefault
()
// 阻止默认行为
},
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;
}
}
document
.
addEventListener
(
'copy'
,
save
)
// 添加一个copy事件
let
x
=
document
.
execCommand
(
'copy'
)
// 执行copy方法
setTimeout
(()
=>
{
this
.
copyId
=
0
;
},
2000
);
},
},
mounted
()
{
setEdate
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
return
this
.
addMoth
(
new
Date
().
Format
(
"yyyy-MM-dd"
),
1
);
//自适应高度调节
},
this
.
com_onresize
();
addMoth
(
d
,
m
)
{
window
.
onresize
=
()
=>
{
let
ds
=
d
.
split
(
"-"
),
this
.
com_onresize
();
_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;
}
}
};
},
</
script
>
mounted
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
//自适应高度调节
this
.
com_onresize
();
window
.
onresize
=
()
=>
{
this
.
com_onresize
();
};
}
};
<
style
></
style
>
</
script
>
src/components/SingleAirTicket/components/TicketOrder.vue
View file @
f73b4f20
...
@@ -110,11 +110,6 @@
...
@@ -110,11 +110,6 @@
class=
"w200"
/>
class=
"w200"
/>
</span>
</span>
</li>
</li>
<!--
<li>
<span><em>
电话
</em>
<el-input
clearable
v-model=
"msg.Mobile"
placeholder=
"电话"
class=
"w200"
/>
</span>
</li>
-->
<li>
<li>
<span><em>
客人姓名
</em>
<span><em>
客人姓名
</em>
<el-input
clearable
v-model=
"msg.GuestName"
placeholder=
"客人姓名"
class=
"w200"
/>
<el-input
clearable
v-model=
"msg.GuestName"
placeholder=
"客人姓名"
class=
"w200"
/>
...
@@ -233,22 +228,6 @@
...
@@ -233,22 +228,6 @@
</p>
</p>
</div>
</div>
</el-col>
</el-col>
<!--
<el-col
:span=
"5"
class=
"groupTourOrder_count_col"
>
<div
class=
"groupTourOrder_count_item HT_total"
>
<div>
<i
class=
"iconfont icon-tongji1 groupTourOrder_count_gray"
></i>
<span>
{{
$t
(
'fnc.qtxtongji'
)
}}
</span>
</div>
<p>
<span
class=
"groupTourOrder_count_green"
>
{{
$t
(
'fnc.nbbaoming'
)
}}
:
{{
TotalMsg
.
totalERP
}}
</span>
<span
class=
"color_red_order"
>
{{
$t
(
'fnc.B2BWAP'
)
}}
:
{{
TotalMsg
.
totalB2B
}}
</span>
</p>
</div>
</el-col>
-->
<el-col
:span=
"5"
class=
"groupTourOrder_count_col"
>
<el-col
:span=
"5"
class=
"groupTourOrder_count_col"
>
<div
class=
"groupTourOrder_count_item HT_totalFinacel"
>
<div
class=
"groupTourOrder_count_item HT_totalFinacel"
>
<div>
<div>
...
@@ -268,19 +247,13 @@
...
@@ -268,19 +247,13 @@
</el-row>
</el-row>
</div>
</div>
<!--
<div
style=
"display: flex;justify-content: end;margin-bottom: 10px;"
>
<p><span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#3FC4FF"
></i><span>
{{
$t
(
'fnc.yidadan'
)
}}
</span></span>
<span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#F1416C"
></i><span>
{{
$t
(
'fnc.yhcnyshenhe'
)
}}
</span></span>
<span
class=
"groupTourOrderByTuan_ico"
><i
style=
"background-color:#ff9800"
></i><span>
{{
$t
(
'fnc.ytongguo'
)
}}
</span></span></p>
</div>
-->
<OrderList
:pagesTitle=
"Title"
:OrderList=
"OrderList"
v-loading=
"loading"
@
success=
"msg.pageIndex=1,GetList()"
>
<OrderList
:pagesTitle=
"Title"
:OrderList=
"OrderList"
v-loading=
"loading"
@
success=
"msg.pageIndex=1,GetList()"
>
</OrderList>
</OrderList>
<div
v-if=
"OrderList&&OrderList.length==0"
style=
"text-align: center;padding: 100px;"
>
暂无数据
</div>
<div
v-if=
"OrderList&&OrderList.length==0"
style=
"text-align: center;padding: 100px;"
>
暂无数据
</div>
<el-pagination
v-if=
"OrderList&&OrderList.length>0"
background
@
current-change=
"handleCurrentChange"
<el-pagination
v-if=
"OrderList&&OrderList.length>0"
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
</el-pagination>
</el-pagination>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
@@ -556,8 +529,7 @@
...
@@ -556,8 +529,7 @@
show
:
item
.
OrderStatus
!=
2
&&
show
:
item
.
OrderStatus
!=
2
&&
item
.
OrderStatus
!=
5
&&
item
.
OrderStatus
!=
5
&&
item
.
OrderStatus
!=
6
?
item
.
OrderStatus
!=
6
?
true
:
true
:
false
,
false
,
},
},
{
{
Name
:
"订单转交"
,
Name
:
"订单转交"
,
...
@@ -571,8 +543,7 @@
...
@@ -571,8 +543,7 @@
item
.
OrderStatus
!=
5
&&
item
.
OrderStatus
!=
5
&&
item
.
OrderStatus
!=
6
&&
item
.
OrderStatus
!=
6
&&
(
item
.
TicketStatus
==
1
||
item
.
VisaStatus
==
1
)
?
(
item
.
TicketStatus
==
1
||
item
.
VisaStatus
==
1
)
?
true
:
true
:
false
,
false
,
},
},
{
{
Name
:
"修改出票状态"
,
Name
:
"修改出票状态"
,
...
@@ -581,8 +552,7 @@
...
@@ -581,8 +552,7 @@
item
.
OrderStatus
!=
5
&&
item
.
OrderStatus
!=
5
&&
item
.
OrderStatus
!=
6
&&
item
.
OrderStatus
!=
6
&&
item
.
TicketStatus
<
3
?
item
.
TicketStatus
<
3
?
true
:
true
:
false
,
false
,
},
},
{
{
Name
:
"修改出签状态"
,
Name
:
"修改出签状态"
,
...
@@ -591,24 +561,21 @@
...
@@ -591,24 +561,21 @@
item
.
OrderStatus
!=
5
&&
item
.
OrderStatus
!=
5
&&
item
.
OrderStatus
!=
6
&&
item
.
OrderStatus
!=
6
&&
item
.
VisaStatus
==
1
?
item
.
VisaStatus
==
1
?
true
:
true
:
false
,
false
,
},
},
{
{
Name
:
"订单收损"
,
Name
:
"订单收损"
,
Id
:
"8"
,
Id
:
"8"
,
show
:
item
.
OrderStatus
!=
2
&&
show
:
item
.
OrderStatus
!=
2
&&
item
.
OrderStatus
!=
6
?
item
.
OrderStatus
!=
6
?
true
:
true
:
false
,
false
,
},
},
{
{
Name
:
"收损完结"
,
Name
:
"收损完结"
,
Id
:
"9"
,
Id
:
"9"
,
show
:
(
item
.
OrderStatus
==
3
||
item
.
OrderStatus
==
4
)
&&
show
:
(
item
.
OrderStatus
==
3
||
item
.
OrderStatus
==
4
)
&&
item
.
DueinMoney
==
0
?
item
.
DueinMoney
==
0
?
true
:
true
:
false
,
false
,
},
},
{
{
Name
:
'订单完结'
,
Name
:
'订单完结'
,
...
@@ -656,6 +623,7 @@
...
@@ -656,6 +623,7 @@
}
}
}
}
});
});
this
.
OrderList
=
res
.
data
.
data
.
Data
.
pageData
;
this
.
OrderList
=
res
.
data
.
data
.
Data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
Data
.
count
;
this
.
total
=
res
.
data
.
data
.
Data
.
count
;
this
.
TotalMsg
=
res
.
data
.
data
.
StatModel
this
.
TotalMsg
=
res
.
data
.
data
.
StatModel
...
@@ -690,7 +658,6 @@
...
@@ -690,7 +658,6 @@
}
}
let
userInfo
=
this
.
getLocalStorage
();
let
userInfo
=
this
.
getLocalStorage
();
this
.
employeeMsg
.
GroupId
=
userInfo
.
RB_Group_id
;
//集团ID
this
.
employeeMsg
.
GroupId
=
userInfo
.
RB_Group_id
;
//集团ID
// this.msg.EnterID = userInfo.EmployeeId;
},
},
mounted
()
{
mounted
()
{
this
.
Title
=
this
.
pagesTitle
this
.
Title
=
this
.
pagesTitle
...
@@ -698,7 +665,7 @@
...
@@ -698,7 +665,7 @@
this
.
getEmployee
()
this
.
getEmployee
()
}
}
this
.
msg
.
StartTime
=
this
.
getBeforeDate
(
31
,
new
Date
())
this
.
msg
.
StartTime
=
this
.
getBeforeDate
(
31
,
new
Date
())
this
.
msg
.
EndTime
=
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
))
this
.
msg
.
EndTime
=
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
))
this
.
DatelistBM
=
[
new
Date
(
this
.
msg
.
StartTime
),
new
Date
()]
this
.
DatelistBM
=
[
new
Date
(
this
.
msg
.
StartTime
),
new
Date
()]
this
.
GetOrderStatusEnumList
()
this
.
GetOrderStatusEnumList
()
this
.
GetTicketStatusEnumList
()
this
.
GetTicketStatusEnumList
()
...
...
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