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
2fe734af
Commit
2fe734af
authored
Jun 17, 2019
by
Mac
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
a3a3fb49
070274fd
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1766 additions
and
280 deletions
+1766
-280
summaryLogin.css
src/assets/css/summaryLogin.css
+202
-0
elephant.gif
src/assets/img/elephant.gif
+0
-0
summary.jpg
src/assets/img/summary.jpg
+0
-0
BasicDocuments.vue
src/components/FinancialModule/BasicDocuments.vue
+473
-104
FinancialDocumentsDetail.vue
src/components/FinancialModule/FinancialDocumentsDetail.vue
+34
-0
TeamRevenueReport.vue
...mponents/FinancialModule/ReportForm/TeamRevenueReport.vue
+20
-0
roomReservationsDetails.vue
src/components/Hotel/roomReservationsDetails.vue
+1
-1
Login.vue
src/components/Login.vue
+32
-34
VisaProduct.vue
src/components/SalesVisa/VisaProduct.vue
+11
-11
roomQuery2.vue
src/components/Supplier/roomQuery2.vue
+658
-0
TeamBalancePayment.vue
...omponents/TravelManager/TravelList/TeamBalancePayment.vue
+83
-88
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+5
-1
ChongDiPage.vue
src/components/commonPage/ChongDiPage.vue
+95
-0
comCheckHotel.vue
src/components/commonPage/comCheckHotel.vue
+20
-9
dmcTotalTable.vue
src/components/dmc/manager/dmcTotalTable.vue
+94
-16
TravelManager2.vue
...ts/newTravelmanager/TravelGroupControl/TravelManager2.vue
+1
-1
TravelPrice.vue
...nents/newTravelmanager/TravelGroupControl/TravelPrice.vue
+29
-15
config.js
src/router/config.js
+8
-0
No files found.
src/assets/css/summaryLogin.css
0 → 100644
View file @
2fe734af
.newSummaryLogin
.item
img
{
width
:
100%
;
}
.Summary_login_Div
{
width
:
480px
;
height
:
420px
;
position
:
absolute
;
text-align
:
center
;
background
:
#fff
;
border-radius
:
12px
;
-webkit-box-shadow
:
1px
-1px
25px
rgba
(
249
,
7
,
32
,
0.2
);
box-shadow
:
1px
-1px
25px
rgba
(
249
,
7
,
32
,
0.2
);
z-index
:
2018
;
margin
:
auto
;
top
:
0
;
left
:
0
;
bottom
:
0
;
right
:
0
;
float
:
right
;
margin-right
:
165px
;
}
.newSummaryLogin
.error-msg
{
color
:
#cccccc
;
font-size
:
12px
;
text-align
:
left
;
width
:
300px
;
margin
:
0
auto
0
;
height
:
20px
;
padding-left
:
16px
;
}
.newSummaryLogin
.error-msg
img
{
position
:
relative
;
top
:
3px
;
margin
:
0
10px
0
5px
;
}
.Summary_login_Div
.sumMainTitle
{
font-size
:
28px
;
padding-top
:
40px
;
color
:
#111111
;
margin-bottom
:
40px
;
font-weight
:
bold
;
}
.Summary_login_Div
.littTitle
{
font-size
:
18px
;
color
:
#333333
;
}
.Summary_login_Div
.icon-login-name
,
.icon-login-password
{
width
:
16px
;
height
:
15px
;
display
:
inline-block
;
position
:
absolute
;
top
:
10px
;
color
:
#000000
}
.Summary_login_Div
.login-commonBotm
{
width
:
260px
;
position
:
relative
;
margin
:
10px
auto
0
;
}
.Summary_login_Div
.login-commonBotm
img
{
float
:
left
;
margin-top
:
14px
;
}
.Summary_login_Div
input
.input
{
width
:
260px
;
height
:
40px
;
outline
:
none
;
padding-left
:
30px
;
border
:
none
;
border-bottom
:
1px
solid
#CCCCCC
;
color
:
#333333
;
caret-color
:
#E95252
;
}
.Summary_login_Div
input
::-webkit-input-placeholder
{
color
:
#999999
;
font-size
:
12px
;
}
.newSummaryLogin
.sumPhone
{
width
:
100%
;
text-align
:
center
;
color
:
#333
;
margin-bottom
:
10px
;}
.Summary_login_Div
input
:-webkit-autofill
,
.Summary_login_Div
textarea
:-webkit-autofill
,
.Summary_login_Div
select
:-webkit-autofill
{
-webkit-text-fill-color
:
#ededed
!important
;
-webkit-box-shadow
:
0
0
0px
1000px
transparent
inset
!important
;
background-color
:
transparent
;
background-image
:
none
;
transition
:
background-color
50000s
ease-in-out
0s
;
}
.Summary_login_Div
.sLoginBtn
{
margin-top
:
30px
;
width
:
300px
;
height
:
40px
;
background
:
#EE4454
;
border-radius
:
20px
;
outline
:
none
;
border
:
none
;
color
:
#fff
;
transition
:
all
linear
0.5s
;
}
.Summary_login_Div
.sLoginBtn
:hover
{
opacity
:
.8
;
cursor
:
pointer
;
background-color
:
#E95252
;
color
:
#FFFFFF
}
.Summary_login_Div
.validatCode
{
color
:
#333333
;
}
.newSummaryLogin
.msgTips
p
{
color
:
#333333
!important
;
}
.newSummaryLogin
.msgTips
p
,
.newSummaryLogin
.msgTips
h2
{
color
:
#333333
!important
;
}
.newSummaryLogin
.bindTitle
{
margin-bottom
:
10px
;}
.newSummaryLogin
.changeBtn
{
margin-top
:
10px
;
}
.login-box
.forgetPw
{
width
:
300px
;
height
:
40px
;
text-align
:
right
;
margin
:
auto
;
color
:
#999999
;
font-size
:
12px
;
text-align
:
right
;
line-height
:
40px
;
}
.forgetPw
span
{
cursor
:
pointer
;
}
.newSummaryLogin
.login-box
.forgetPw
span
:hover
{
color
:
#E95252
;
}
.newSummaryLogin
.login-way
{
width
:
300px
;
height
:
40px
;
margin
:
25px
auto
;
font-size
:
12px
;
color
:
#CCCCCC
;
display
:
none
;
line-height
:
40px
;
}
.newSummaryLogin
.wayLeft
{
float
:
left
;
}
.newSummaryLogin
.icon-login-qqicon
{
width
:
16px
;
height
:
15px
;
display
:
inline-block
;
position
:
relative
;
top
:
3px
;
background
:
url(../img/qqIco.png)
no-repeat
;
}
.newSummaryLogin
.icon-login-wechaticon
{
width
:
19px
;
height
:
15px
;
display
:
inline-block
;
position
:
relative
;
top
:
3px
;
background
:
url(../img/wechatIco.png)
no-repeat
;
}
.newSummaryLogin
.wayRight
{
float
:
right
;
}
.newSummaryLogin
.validatCode
{
position
:
absolute
;
right
:
0
;
top
:
13px
;
padding-left
:
10px
;
color
:
#333
;
font-size
:
12px
;
letter-spacing
:
2px
;
border-left
:
1px
solid
#cccccc
;
}
.newSummaryLogin
.validatCode
span
:first-child
{
cursor
:
pointer
;}
.newSummaryLogin
.btValidate
{
margin-top
:
30px
;
}
.newSummaryLogin
.login_elephant
{
position
:
absolute
;
left
:
-15px
;
top
:
-80px
;
}
.newSummaryLogin
.homepage-hero-module
,
.video-container
{
position
:
relative
;
height
:
100vh
;
overflow
:
hidden
;
}
.newSummaryLogin
.name_bline_left
{
position
:
absolute
;
right
:
115px
;
bottom
:
0
;
width
:
0
;
height
:
2px
;
background-color
:
#E95252
;
transition
:
all
linear
0.5s
;}
.newSummaryLogin
.name_bline_right
{
position
:
absolute
;
left
:
115px
;
bottom
:
0
;
width
:
0
;
height
:
2px
;
background-color
:
#E95252
;
transition
:
all
linear
0.5s
;}
.newSummaryLogin
.pwd_bline_left
{
position
:
absolute
;
right
:
115px
;
bottom
:
0
;
width
:
0
;
height
:
2px
;
background-color
:
#E95252
;
transition
:
all
linear
0.5s
;}
.newSummaryLogin
.pwd_bline_right
{
position
:
absolute
;
left
:
115px
;
bottom
:
0
;
width
:
0
;
height
:
2px
;
background-color
:
#E95252
;
transition
:
all
linear
0.5s
;}
.newSummaryLogin
.login-Div
input
:-webkit-autofill
,
.login-Div
textarea
:-webkit-autofill
,
.login-Div
select
:-webkit-autofill
{
-webkit-text-fill-color
:
#ededed
!important
;
-webkit-box-shadow
:
0
0
0px
1000px
transparent
inset
!important
;
background-color
:
transparent
;
background-image
:
none
;
transition
:
background-color
50000s
ease-in-out
0s
;
}
.newSummaryLogin
._bline_w
{
width
:
145px
;}
src/assets/img/elephant.gif
0 → 100644
View file @
2fe734af
408 KB
src/assets/img/summary.jpg
0 → 100644
View file @
2fe734af
211 KB
src/components/FinancialModule/BasicDocuments.vue
View file @
2fe734af
<
style
scoped
>
.page_bdm
{
padding
:
20px
0
;}
._tit
{
padding-left
:
10px
;
border-left
:
3px
solid
#E95252
;
font-size
:
14px
}
._conten
,
._process
{
margin-top
:
20px
;
width
:
890px
;}
._conten
{
position
:
relative
}
._explain
{
padding
:
20px
15px
;
border-top
:
1px
dashed
#BFBFBF
;
background-color
:
white
;}
._explain
>
p
{
color
:
#1273BC
;
font-size
:
12px
;}
._explain
>
div
{
display
:
flex
;
justify-content
:
space-between
;
font-size
:
12px
;
color
:
#333333
;
margin-top
:
10px
;
align-items
:
center
;}
._tit2
{
<
style
>
.page_bdm
.page_bdm
{
padding
:
20px
0
;}
.page_bdm
._tit
{
padding-left
:
10px
;
border-left
:
3px
solid
#E95252
;
font-size
:
14px
}
.page_bdm
._conten
,
._process
{
margin-top
:
20px
;
width
:
890px
;}
.page_bdm
._conten
{
position
:
relative
}
.page_bdm
._explain
{
padding
:
20px
15px
;
border-top
:
1px
dashed
#BFBFBF
;
background-color
:
white
;}
.page_bdm
._explain
>
p
{
color
:
#1273BC
;
font-size
:
12px
;}
.page_bdm
._explain
>
div
{
display
:
flex
;
justify-content
:
space-between
;
font-size
:
12px
;
color
:
#333333
;
margin-top
:
10px
;
align-items
:
center
;}
.page_bdm
._tit2
{
border
:
none
;
background-color
:
white
;
border
:
1px
solid
#DDDDDD
;
}
._tit._tit2
>
p
{
.page_bdm
._tit._tit2
>
p
{
padding-left
:
10px
;
font-size
:
14px
;
color
:
#000
;
...
...
@@ -19,117 +19,117 @@
display
:
flex
;
justify-content
:
space-between
;
}
._tit._tit2
._rotate
{
.page_bdm
._tit._tit2
._rotate
{
transform
:
rotate
(
180deg
);
}
._tit._tit2
._btn
{
.page_bdm
._tit._tit2
._btn
{
font-size
:
12px
;
color
:
#333333
;
cursor
:
pointer
;
}
._tit._tit2
._btn
:hover
{
.page_bdm
._tit._tit2
._btn
:hover
{
color
:
#E95252
;
}
._tit._tit2
._btn
.iconfont
{
.page_bdm
._tit._tit2
._btn
.iconfont
{
font-size
:
12px
;
display
:
inline-block
;
margin-left
:
10px
;
}
._tit._tit2
._text
{
.page_bdm
._tit._tit2
._text
{
border-left
:
3px
solid
#e95252
;
padding-left
:
10px
;
}
._process
{
background-color
:
white
;
padding
:
20px
15px
;
position
:
relative
;}
._process_box
{
border-top
:
1px
dashed
#BFBFBF
;
padding-top
:
30px
;
padding-bottom
:
40px
;}
._flow_chart
{
position
:
absolute
;
display
:
inline-block
;
right
:
15px
;
top
:
7px
;
padding
:
5px
25px
;
font-size
:
12px
;
color
:
#FFFFFF
;
background-color
:
#E95252
;
border-radius
:
14px
;
cursor
:
pointer
;}
._pb_son
{
position
:
relative
;
padding-left
:
65px
;
min-height
:
100px
;
margin-bottom
:
30px
}
._left_radius
{
width
:
40px
;
height
:
40px
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
40px
;
background-color
:
#2BBB7E
;
color
:
white
;
font-size
:
12px
;
position
:
absolute
;
left
:
0
}
._left_radius_err
{
background-color
:
#E95252
;}
._left_radius_sus
{
background-color
:
#1273BC
;}
._right_content
{
padding-left
:
0
}
._right_content
._name
._n
{
font-size
:
14px
;
color
:
#333333
;
font-weight
:
bold
;}
._right_content
._name
._m
{
color
:
#FFFFFF
;
font-size
:
12px
;
display
:
inline-block
;
padding
:
2px
5px
;
background-color
:
#E95252
;
margin-left
:
5px
;
border-radius
:
4px
;}
._right_content
._name
._sm
,
._huoqian
{
color
:
#FFFFFF
;
font-size
:
12px
;
display
:
inline-block
;
padding
:
2px
5px
;
background-color
:
#FF9600
;
margin-left
:
5px
;
border-radius
:
4px
;
font-weight
:
100
;}
._right_content
._name
._sn
{
color
:
#FFFFFF
;
font-size
:
12px
;
display
:
inline-block
;
padding
:
2px
5px
;
background-color
:
#2BBB7E
;
margin-left
:
5px
;
border-radius
:
4px
;}
._right_content
._time
{
font-size
:
12px
;
color
:
#666666
;
padding-top
:
5px
;}
._right_content
._pp_info
,
._textarea
{
border-radius
:
4px
;
border
:
1px
solid
#E5E5E5
;
background
:
rgba
(
245
,
245
,
245
,
1
);
font-size
:
12px
;
color
:
#333333
;
padding
:
12px
14px
;
margin-top
:
13px
;
position
:
relative
;}
._right_content
._pp_info
:before
{
display
:
block
;
content
:
''
;
border-width
:
8px
8px
8px
8px
;
border-style
:
solid
;
border-color
:
transparent
transparent
#dedede
transparent
;
position
:
absolute
;
left
:
10px
;
top
:
-16px
;}
._more
{
margin-top
:
15px
;}
.page_bdm
._process
{
background-color
:
white
;
padding
:
20px
15px
;
position
:
relative
;}
.page_bdm
._process_box
{
border-top
:
1px
dashed
#BFBFBF
;
padding-top
:
30px
;
padding-bottom
:
40px
;}
.page_bdm
._flow_chart
{
position
:
absolute
;
display
:
inline-block
;
right
:
15px
;
top
:
7px
;
padding
:
5px
25px
;
font-size
:
12px
;
color
:
#FFFFFF
;
background-color
:
#E95252
;
border-radius
:
14px
;
cursor
:
pointer
;}
.page_bdm
._pb_son
{
position
:
relative
;
padding-left
:
65px
;
min-height
:
100px
;
margin-bottom
:
30px
}
.page_bdm
._left_radius
{
width
:
40px
;
height
:
40px
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
40px
;
background-color
:
#2BBB7E
;
color
:
white
;
font-size
:
12px
;
position
:
absolute
;
left
:
0
}
.page_bdm
._left_radius_err
{
background-color
:
#E95252
;}
.page_bdm
._left_radius_sus
{
background-color
:
#1273BC
;}
.page_bdm
._right_content
{
padding-left
:
0
}
.page_bdm
._right_content
._name
._n
{
font-size
:
14px
;
color
:
#333333
;
font-weight
:
bold
;}
.page_bdm
._right_content
._name
._m
{
color
:
#FFFFFF
;
font-size
:
12px
;
display
:
inline-block
;
padding
:
2px
5px
;
background-color
:
#E95252
;
margin-left
:
5px
;
border-radius
:
4px
;}
.page_bdm
._right_content
._name
._sm
,
._huoqian
{
color
:
#FFFFFF
;
font-size
:
12px
;
display
:
inline-block
;
padding
:
2px
5px
;
background-color
:
#FF9600
;
margin-left
:
5px
;
border-radius
:
4px
;
font-weight
:
100
;}
.page_bdm
._right_content
._name
._sn
{
color
:
#FFFFFF
;
font-size
:
12px
;
display
:
inline-block
;
padding
:
2px
5px
;
background-color
:
#2BBB7E
;
margin-left
:
5px
;
border-radius
:
4px
;}
.page_bdm
._right_content
._time
{
font-size
:
12px
;
color
:
#666666
;
padding-top
:
5px
;}
.page_bdm
._right_content
._pp_info
,
._textarea
{
border-radius
:
4px
;
border
:
1px
solid
#E5E5E5
;
background
:
rgba
(
245
,
245
,
245
,
1
);
font-size
:
12px
;
color
:
#333333
;
padding
:
12px
14px
;
margin-top
:
13px
;
position
:
relative
;}
.page_bdm
._right_content
._pp_info
:before
{
display
:
block
;
content
:
''
;
border-width
:
8px
8px
8px
8px
;
border-style
:
solid
;
border-color
:
transparent
transparent
#dedede
transparent
;
position
:
absolute
;
left
:
10px
;
top
:
-16px
;}
.page_bdm
._more
{
margin-top
:
15px
;}
/* ._more ._right_content{padding: 0 0 0 10px;} */
._more
._right_content
.iconfont
{
color
:
#AAAAAA
}
._more
._right_content
._name
._n
{
font-size
:
14px
;
color
:
#333333
;
font-weight
:
bold
;
padding-left
:
3px
;}
._right_content
._name
{
padding
:
2px
0
}
._name
.icon-img-ren
{
color
:
#AAAAAA
}
._info_img
ul
{
padding
:
10px
0
}
._info_img
ul
li
{
float
:
left
;
position
:
relative
;
cursor
:
pointer
}
._info_img
ul
li
:hover
._see_img
{
opacity
:
1
;}
._info_img
ul
li
img
{
width
:
88px
;
height
:
59px
;}
._see_img
{
position
:
absolute
;
top
:
0
;
width
:
100%
;
height
:
59px
;
padding-top
:
16px
;
line-height
:
34px
;
text-align
:
center
;
background-color
:
rgba
(
2
,
2
,
2
,
0.3
);
display
:
inherit
;
opacity
:
0
;
transition
:
all
linear
.5s
}
._see_img
i
.iconfont
{
display
:
inline-block
;
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
color
:
#FFFFFF
!important
;
background-color
:
rgba
(
255
,
255
,
255
,
0.5
);}
._show_img_box
{
position
:
fixed
;
background
:
rgba
(
0
,
0
,
0
,
.6
);
left
:
0
;
top
:
0
;
width
:
100%
;
height
:
100%
;
z-index
:
999
;
text-align
:
center
;
overflow
:
auto
;}
._textarea
{
width
:
685px
;
height
:
50px
;
background-color
:
white
}
._textarea._mini
{
width
:
95%
;}
._upload_box
ul
li
{
float
:
left
;
height
:
82px
;
width
:
143px
;
padding
:
20px
20px
20px
0
;
text-align
:
center
;
position
:
relative
;
cursor
:
pointer
;
margin-right
:
10px
;}
._upload_box
ul
li
img
{
height
:
82px
;
width
:
143px
;}
._upload_box
ul
li
:hover
._delete_img
{
opacity
:
1
;}
._delete_img
{
position
:
absolute
;
top
:
20px
;
height
:
82px
;
width
:
143px
;
line-height
:
34px
;
text-align
:
center
;
background-color
:
rgba
(
2
,
2
,
2
,
0.6
);
display
:
inherit
;
opacity
:
0
;
transition
:
all
linear
.5s
}
._delete_img
i
.iconfont
{
display
:
inline-block
;
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
color
:
#E95252
!important
;
background-color
:
rgba
(
251
,
251
,
251
,
0.9
);
margin-top
:
26px
;}
._radio_lsit
{
padding-top
:
15px
}
._upload_tips
{
font-size
:
12px
;
position
:
absolute
;
top
:
66%
;
width
:
100%
;
left
:
0
;
text-align
:
center
;
color
:
#949494
;}
._log_t
{
padding
:
10px
;}
._pay_box
{
padding
:
20px
0
}
._pay_box
table
{
width
:
100%
;
border-top-left-radius
:
4px
;
border-top-right-radius
:
4px
;
text-align
:
center
;}
._pay_box
th
{
border
:
none
;
background-color
:
#DCDCDC
}
._pay_box
th
,
._pay_box
td
{
padding
:
7px
;
font-size
:
12px
;}
.page_bdm
._more
._right_content
.iconfont
{
color
:
#AAAAAA
}
.page_bdm
._more
._right_content
._name
._n
{
font-size
:
14px
;
color
:
#333333
;
font-weight
:
bold
;
padding-left
:
3px
;}
.page_bdm
._right_content
._name
{
padding
:
2px
0
}
.page_bdm
._name
.icon-img-ren
{
color
:
#AAAAAA
}
.page_bdm
._info_img
ul
{
padding
:
10px
0
}
.page_bdm
._info_img
ul
li
{
float
:
left
;
position
:
relative
;
cursor
:
pointer
}
.page_bdm
._info_img
ul
li
:hover
._see_img
{
opacity
:
1
;}
.page_bdm
._info_img
ul
li
img
{
width
:
88px
;
height
:
59px
;}
.page_bdm
._see_img
{
position
:
absolute
;
top
:
0
;
width
:
100%
;
height
:
59px
;
padding-top
:
16px
;
line-height
:
34px
;
text-align
:
center
;
background-color
:
rgba
(
2
,
2
,
2
,
0.3
);
display
:
inherit
;
opacity
:
0
;
transition
:
all
linear
.5s
}
.page_bdm
._see_img
i
.iconfont
{
display
:
inline-block
;
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
color
:
#FFFFFF
!important
;
background-color
:
rgba
(
255
,
255
,
255
,
0.5
);}
.page_bdm
._show_img_box
{
position
:
fixed
;
background
:
rgba
(
0
,
0
,
0
,
.6
);
left
:
0
;
top
:
0
;
width
:
100%
;
height
:
100%
;
z-index
:
999
;
text-align
:
center
;
overflow
:
auto
;}
.page_bdm
._textarea
{
width
:
685px
;
height
:
50px
;
background-color
:
white
}
.page_bdm
._textarea._mini
{
width
:
95%
;}
.page_bdm
._upload_box
ul
li
{
float
:
left
;
height
:
82px
;
width
:
143px
;
padding
:
20px
20px
20px
0
;
text-align
:
center
;
position
:
relative
;
cursor
:
pointer
;
margin-right
:
10px
;}
.page_bdm
._upload_box
ul
li
img
{
height
:
82px
;
width
:
143px
;}
.page_bdm
._upload_box
ul
li
:hover
._delete_img
{
opacity
:
1
;}
.page_bdm
._delete_img
{
position
:
absolute
;
top
:
20px
;
height
:
82px
;
width
:
143px
;
line-height
:
34px
;
text-align
:
center
;
background-color
:
rgba
(
2
,
2
,
2
,
0.6
);
display
:
inherit
;
opacity
:
0
;
transition
:
all
linear
.5s
}
.page_bdm
._delete_img
i
.iconfont
{
display
:
inline-block
;
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
color
:
#E95252
!important
;
background-color
:
rgba
(
251
,
251
,
251
,
0.9
);
margin-top
:
26px
;}
.page_bdm
._radio_lsit
{
padding-top
:
15px
}
.page_bdm
._upload_tips
{
font-size
:
12px
;
position
:
absolute
;
top
:
66%
;
width
:
100%
;
left
:
0
;
text-align
:
center
;
color
:
#949494
;}
.page_bdm
._log_t
{
padding
:
10px
;}
.page_bdm
._pay_box
{
padding
:
20px
0
}
.page_bdm
._pay_box
table
{
width
:
100%
;
border-top-left-radius
:
4px
;
border-top-right-radius
:
4px
;
text-align
:
center
;}
.page_bdm
._pay_box
th
{
border
:
none
;
background-color
:
#DCDCDC
}
.page_bdm
._pay_box
th
,
._pay_box
td
{
padding
:
7px
;
font-size
:
12px
;}
/* ._border_b_1{border-bottom: 1px solid #afafaf !important;} */
._now_pay
{
padding
:
4px
10px
;
border-radius
:
11px
;
color
:
white
;
font-size
:
12px
;
background-color
:
#E95252
;
cursor
:
pointer
;}
._allMoney
{
text-align
:
left
!important
}
._time_n
{
float
:
right
;}
._mgt_15
{
margin-top
:
15px
;}
._padd_left_10
{
padding-left
:
10px
;}
._margin_b15
{
margin-bottom
:
15px
;}
._pay_box
table
tr
td
{
text-align
:
center
}
.w890px
{
width
:
890px
;
padding
:
0
;
margin
:
0
;}
.page_bdm
._now_pay
{
padding
:
4px
10px
;
border-radius
:
11px
;
color
:
white
;
font-size
:
12px
;
background-color
:
#E95252
;
cursor
:
pointer
;}
.page_bdm
._allMoney
{
text-align
:
left
!important
}
.page_bdm
._time_n
{
float
:
right
;}
.page_bdm
._mgt_15
{
margin-top
:
15px
;}
.page_bdm
._padd_left_10
{
padding-left
:
10px
;}
.page_bdm
._margin_b15
{
margin-bottom
:
15px
;}
.page_bdm
._pay_box
table
tr
td
{
text-align
:
center
}
.page_bdm
.w890px
{
width
:
890px
;
padding
:
0
;
margin
:
0
;}
.w600px
{
.page_bdm
.w600px
{
width
:
600px
;
padding
:
15px
;
margin
:
0
auto
;
}
._explain
._addUpload_box
{
.page_bdm
._explain
._addUpload_box
{
display
:
block
;
padding-bottom
:
14px
;
}
._explain2
>
div
{
.page_bdm
._explain2
>
div
{
margin-top
:
0
;
}
._explain2
{
.page_bdm
._explain2
{
border
:
none
;
padding
:
20px
0
0
14px
;
background-color
:
aliceblue
;
}
._addUpload_box
>
div
:hover
{
.page_bdm
._addUpload_box
>
div
:hover
{
background-color
:
#f5f5f5
;
}
._submit
{
height
:
50px
;
padding
:
10px
20px
;
width
:
890px
;
position
:
absolute
;
bottom
:
0
;
left
:
0
;
display
:
flex
;
border-top
:
1px
dotted
#eee
;}
._submit
.btn-box
{
width
:
216px
;}
._submit
.chosenNextBox
{
flex
:
1
;
font-size
:
12px
;
height
:
30px
;
line-height
:
30px
;}
._submit
.chosenNextBox
.red
{
color
:
#C94052
;
margin-right
:
15px
;}
._submit
.el-input__inner
{
width
:
300px
!important
;}
._addFile_name
{
.page_bdm
._submit
{
height
:
50px
;
padding
:
10px
20px
;
width
:
890px
;
position
:
absolute
;
bottom
:
0
;
left
:
0
;
display
:
flex
;
border-top
:
1px
dotted
#eee
;}
.page_bdm
._submit
.btn-box
{
width
:
216px
;}
.page_bdm
._submit
.chosenNextBox
{
flex
:
1
;
font-size
:
12px
;
height
:
30px
;
line-height
:
30px
;}
.page_bdm
._submit
.chosenNextBox
.red
{
color
:
#C94052
;
margin-right
:
15px
;}
.page_bdm
._submit
.el-input__inner
{
width
:
300px
!important
;}
.page_bdm
._addFile_name
{
overflow
:
hidden
;
display
:
-webkit-box
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
font-size
:
12px
;
}
._fujian_box
{
.page_bdm
._fujian_box
{
position
:
fixed
;
left
:
961px
;
top
:
148px
;
width
:
440px
;
}
._wenjian
{
.page_bdm
._wenjian
{
padding
:
15px
;
width
:
91px
;
height
:
80px
;
...
...
@@ -139,20 +139,20 @@
margin-right
:
10px
;
margin-top
:
10px
;
}
._wenjian_P
{
.page_bdm
._wenjian_P
{
font-size
:
30px
;
text-align
:
center
;
color
:
#41D2A1
;
}
.el-carousel__item
{
.page_bdm
.el-carousel__item
{
align-items
:
center
;
justify-content
:
center
;
display
:
flex
;
}
._pay_box
table
tr
td
:last-child
{
.page_bdm
._pay_box
table
tr
td
:last-child
{
text-align
:
left
;
}
._splic
{
.page_bdm
._splic
{
width
:
890px
;
overflow
:
hidden
;
font-size
:
12px
;
...
...
@@ -160,38 +160,38 @@
margin-top
:
15px
;
line-height
:
10px
;
}
._zhuanjiao_tips
{
.page_bdm
._zhuanjiao_tips
{
font-size
:
12px
;
color
:
#C94052
;
display
:
inline-block
;
margin-left
:
20px
;
}
._jump_page
{
.page_bdm
._jump_page
{
cursor
:
pointer
;
text-decoration
:
underline
;
}
._jump_page
:hover
{
.page_bdm
._jump_page
:hover
{
color
:
#c94052
;
}
._fujian_box_tit
{
.page_bdm
._fujian_box_tit
{
display
:
flex
;
justify-content
:
space-between
;
font-size
:
14px
;
color
:
#333333
;
}
._fujian_box_tit
.iconfont
{
.page_bdm
._fujian_box_tit
.iconfont
{
font-size
:
14px
;
display
:
inline-block
;
margin-right
:
8px
;
}
._fujian_box_tit
.iconfont.icon-bangdingzhagnhuxinxi
{
.page_bdm
._fujian_box_tit
.iconfont.icon-bangdingzhagnhuxinxi
{
color
:
#E95252
;
}
._fujian_box_tit
.iconfont.icon-gengduo
{
.page_bdm
._fujian_box_tit
.iconfont.icon-gengduo
{
transform
:
rotate
(
90deg
);
font-size
:
12px
;
}
._fujian_zhankai
{
.page_bdm
._fujian_zhankai
{
color
:
white
;
width
:
64px
;
height
:
0
;
...
...
@@ -205,7 +205,7 @@
left
:
-19px
;
bottom
:
-21px
;
}
._fujian_zhankai
>
span
{
.page_bdm
._fujian_zhankai
>
span
{
display
:
inline-block
;
height
:
100%
;
width
:
50%
;
...
...
@@ -215,47 +215,80 @@
-webkit-transform
:
rotate
(
90deg
);
transform
:
rotate
(
90deg
);
}
._fujian_zhankai
>
span
:nth-child
(
2
)
{
.page_bdm
._fujian_zhankai
>
span
:nth-child
(
2
)
{
left
:
18px
;
bottom
:
3px
;
}
._TCIDAndTCNUMList
{
.page_bdm
._TCIDAndTCNUMList
{
display
:
flex
;
}
._TCIDAndTCNUMList
._TCIDAndTCNUMList_item
span
{
.page_bdm
._TCIDAndTCNUMList
._TCIDAndTCNUMList_item
span
{
display
:
inline-block
;
padding-bottom
:
5px
;
}
._font_bold
{
.page_bdm
._font_bold
{
font-weight
:
bold
;
}
._TCIDAndTCNUMList_item
{
.page_bdm
._TCIDAndTCNUMList_item
{
max-width
:
160px
;
}
._fujiashuoming_tr
td
{
.page_bdm
._fujiashuoming_tr
td
{
font-size
:
12px
;
color
:
#696969
;
padding
:
5px
10px
;
}
._zhuan_msg
{
.page_bdm
._zhuan_msg
{
font-size
:
12px
;
margin-top
:
10px
;
padding-bottom
:
10px
;
}
._zhuan_msg
span
{
.page_bdm
._zhuan_msg
span
{
display
:
inline-block
;
margin-right
:
5px
;
color
:
#696969
;
}
._zhuan_msg
span
:last-child
{
.page_bdm
._zhuan_msg
span
:last-child
{
margin-left
:
10px
;
}
._zhuan_msg
p
:nth-child
(
2
)
{
.page_bdm
._zhuan_msg
p
:nth-child
(
2
)
{
color
:
#696969
;
}
._zhuan_msg
._color_green
{
.page_bdm
._zhuan_msg
._color_green
{
color
:
#2BBB7E
}
.page_bdm
.chongdi_box
table
{
width
:
100%
;
}
.page_bdm
.chongdi_box
table
th
{
border
:
none
;
background-color
:
#DCDCDC
;
}
.page_bdm
.chongdi_box
table
th
,
.page_bdm
.chongdi_box
table
td
{
font-size
:
12px
;
padding
:
7px
;
}
.page_bdm
.chongdi_list
{
background-color
:
white
;
padding
:
15px
;
border
:
1px
solid
#e0e0e0
;
}
.page_bdm
.chongdi_list
em
{
font-size
:
14px
;
}
.page_bdm
.chongdi_list
._kehu
input
{
border
:
1px
solid
#dcdfe6
!important
;
background-color
:
#fff
!important
;
padding
:
0
15px
!important
;
}
.page_bdm
.chongdi_list
._kehu
.normalBtn
{
float
:
right
;
}
.page_bdm
.chongdi_list
>
div
{
margin-bottom
:
10px
;
}
.page_bdm
.yixuanze_money
{
float
:
right
;
}
</
style
>
<
template
>
...
...
@@ -419,6 +452,7 @@
<SaleOrderModule
v-if=
"OrderSource==10&&SourceID&&OrderID"
:SourceID=
'SourceID'
:orderID=
'OrderID'
/>
<TicketFinace
v-if=
"OrderSource==4&&SourceID&&Callback&&ID"
:SourceID=
'SourceID'
:Callback=
'Callback'
:id=
'ID'
/>
<TicketingModule
v-if=
"OrderSource==9&&FrID&&ID"
:FrID=
'FrID'
:id=
'ID'
/>
<ChongDiPage
v-if=
"GetDetail.Type === 7 || isChongDi"
:dataList=
"ChongDiList"
:type=
"danjuType"
/>
</div>
<div
class=
"_tit _tit2 w890px"
>
<p>
...
...
@@ -545,6 +579,81 @@
<el-radio
v-model=
"choiceMsg.Status"
label=
"2"
>
原路退款
</el-radio>
</div>
</div>
<div
v-if=
"chongDiShow && AuditOrRefundMsg.Status === '5'"
class=
"chongdi_box"
>
<div
style=
"padding: 10px 0;font-size: 14px;"
>
是否挂账冲抵:
<el-switch
v-model=
"shifouChongDi"
@
change=
"ChongDiMoney = 0, HangingAccountList = []"
:disabled=
"(HangingAccountList.length < 1 && GetDetail.Type === 2) ? true : false"
active-color=
"#13ce66"
inactive-color=
"#ff4949"
>
</el-switch>
<em
v-if=
"HangingAccountList.length < 1 && GetDetail.Type === 2"
>
暂无可用冲抵挂账
</em>
<span
v-else
class=
"yixuanze_money"
>
已选择金额:{{ChongDiMoney}}
</span>
</div>
<div
v-if=
"shifouChongDi"
class=
"chongdi_list"
>
<!-- <div>
<em>发团时间:</em>
<el-date-picker class="h34"
@change="timeAdd(1)"
v-model="productionDate"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="-">
</el-date-picker>
</div> -->
<div
class=
"_kehu"
>
<em>
{{$t('fnc.khleixing')}}:
</em>
<el-select
filterable
v-model=
'ChongDiMsg.ClientType'
:placeholder=
"$t('fnc.khleixing')"
@
change=
"financeinfo_post_GetClientAccountList(ChongDiMsg.ClientType, '1')"
class=
"w135 _border_b_1"
>
<el-option
v-for=
'item in ClientTypeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
<el-select
v-if=
"ChongDiMsg.ClientType==7"
filterable
v-model=
'ChongDiMsg.IsLeader'
:placeholder=
"$t('fnc.khmingcheng')"
class=
"w135 _border_b_1"
>
<el-option
:label=
'$t("fnc.zslingdui")'
:value=
'1'
:key=
'1'
>
</el-option>
</el-select>
<el-select
filterable
v-model=
'ChongDiMsg.ClientID'
:placeholder=
"$t('fnc.khmingcheng')"
class=
"w135 _border_b_1"
>
<el-option
v-for=
'item in ClientAccountList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
<em>
收支类型:
</em>
<el-select
filterable
v-model=
'ChongDiMsg.Types'
:placeholder=
"$t('fnc.khleixing')"
class=
"w135 _border_b_1"
>
<el-option
label=
'不限'
value=
''
key=
'0'
></el-option>
<el-option
label=
'收'
value=
'1'
key=
'1'
></el-option>
<el-option
label=
'支'
value=
'2'
key=
'2'
></el-option>
</el-select>
<button
class=
"normalBtn"
@
click=
"GetHangingAccountList(),ChongDiMoney = 0"
>
查询
</button>
</div>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;"
>
<tr>
<th><input
type=
"checkbox"
v-model=
"checkedAll"
@
change=
"changeCheckedAll()"
>
费用类型
</th>
<th>
团号
</th>
<th>
财务单据
</th>
<th>
收支类型
</th>
<th>
金额
</th>
<th>
对象名称
</th>
<th>
备注
</th>
<th>
制单时间
</th>
<th>
制单人
</th>
</tr>
<tr
v-for=
"(item, index) in HangingAccountList"
>
<td
style=
"text-align: left"
><label><input
type=
"checkbox"
v-model=
"item.checked"
@
change=
"checkdIteam(item)"
>
{{item.CostTypeName}}
</label></td>
<td>
{{item.TCNUM}}
</td>
<td>
{{item.FrID}}
</td>
<td>
{{item.HangingAccountsTypeStr}}
</td>
<td>
{{item.Money}}
</td>
<td>
{{item.RemitterName}}
</td>
<td>
{{item.Remark}}
</td>
<td>
{{item.CreateDateStr}}
</td>
<td>
{{item.createByStr}}
</td>
</tr>
</table>
</div>
</div>
<!--<div class="_pay_box" v-if="AuditOrRefundMsg.Status=='5'&&item.SpecialNode==2">-->
<div
class=
"_pay_box"
v-if=
"choiceMsg.Status=='2'"
>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;"
v-if=
"GetDetail.TradeDetailList&&GetDetail.TradeDetailList.length>0"
>
...
...
@@ -571,6 +680,7 @@
</tr>
</table>
</div>
<!-- 111 -->
<div
class=
"_pay_box"
v-if=
"AuditOrRefundMsg.Status=='5'&&item.SpecialNode==2"
>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;"
v-if=
"GetDetail.CashierDetail&&GetDetail.CashierDetail.length<1"
>
<tr>
...
...
@@ -780,6 +890,81 @@
<el-radio
v-model=
"choiceMsg.Status"
label=
"2"
>
原路退款
</el-radio>
</div>
</div>
<div
v-if=
"chongDiShow && AuditOrRefundMsg.Status === '5'"
class=
"chongdi_box"
>
<div
style=
"padding: 10px 0;font-size: 14px;"
>
是否挂账冲抵:
<el-switch
v-model=
"shifouChongDi"
@
change=
"ChongDiMoney = 0, HangingAccountList = []"
:disabled=
"(HangingAccountList.length < 1 && GetDetail.Type === 2) ? true : false"
active-color=
"#13ce66"
inactive-color=
"#ff4949"
>
</el-switch>
<em
v-if=
"HangingAccountList.length < 1 && GetDetail.Type === 2"
>
暂无可用冲抵挂账
</em>
<span
v-else
class=
"yixuanze_money"
>
已选择金额:{{ChongDiMoney}}
</span>
</div>
<div
v-if=
"shifouChongDi"
class=
"chongdi_list"
>
<!-- <div>
<em>发团时间:</em>
<el-date-picker class="h34"
@change="timeAdd(1)"
v-model="productionDate"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="-">
</el-date-picker>
</div> -->
<div
class=
"_kehu"
>
<em>
{{$t('fnc.khleixing')}}:
</em>
<el-select
filterable
v-model=
'ChongDiMsg.ClientType'
:placeholder=
"$t('fnc.khleixing')"
@
change=
"financeinfo_post_GetClientAccountList(ChongDiMsg.ClientType, '1')"
class=
"w135 _border_b_1"
>
<el-option
v-for=
'item in ClientTypeList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
<el-select
v-if=
"ChongDiMsg.ClientType==7"
filterable
v-model=
'ChongDiMsg.IsLeader'
:placeholder=
"$t('fnc.khmingcheng')"
class=
"w135 _border_b_1"
>
<el-option
:label=
'$t("fnc.zslingdui")'
:value=
'1'
:key=
'1'
>
</el-option>
</el-select>
<el-select
filterable
v-model=
'ChongDiMsg.ClientID'
:placeholder=
"$t('fnc.khmingcheng')"
class=
"w135 _border_b_1"
>
<el-option
v-for=
'item in ClientAccountList'
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
<em>
收支类型:
</em>
<el-select
filterable
v-model=
'ChongDiMsg.Types'
:placeholder=
"$t('fnc.khleixing')"
class=
"w135 _border_b_1"
>
<el-option
label=
'不限'
value=
''
key=
'0'
></el-option>
<el-option
label=
'收'
value=
'1'
key=
'1'
></el-option>
<el-option
label=
'支'
value=
'2'
key=
'2'
></el-option>
</el-select>
<button
class=
"normalBtn"
@
click=
"GetHangingAccountList(),ChongDiMoney = 0"
>
查询
</button>
</div>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;"
>
<tr>
<th><input
type=
"checkbox"
v-model=
"checkedAll"
@
change=
"changeCheckedAll(),ChongDiMoney = 0"
>
费用类型
</th>
<th>
团号
</th>
<th>
财务单据
</th>
<th>
收支类型
</th>
<th>
金额
</th>
<th>
对象名称
</th>
<th>
备注
</th>
<th>
制单时间
</th>
<th>
制单人
</th>
</tr>
<tr
v-for=
"(item, index) in HangingAccountList"
>
<td
style=
"text-align: left"
><label><input
type=
"checkbox"
v-model=
"item.checked"
@
change=
"checkdIteam(item)"
>
{{item.CostTypeName}}
</label></td>
<td>
{{item.TCNUM}}
</td>
<td>
{{item.FrID}}
</td>
<td>
{{item.HangingAccountsTypeStr}}
</td>
<td>
{{item.Money}}
</td>
<td>
{{item.RemitterName}}
</td>
<td>
{{item.Remark}}
</td>
<td>
{{item.CreateDateStr}}
</td>
<td>
{{item.createByStr}}
</td>
</tr>
</table>
</div>
</div>
<div
class=
"_pay_box"
v-if=
"choiceMsg.Status=='2'"
>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;"
v-if=
"GetDetail.TradeDetailList&&GetDetail.TradeDetailList.length>0"
>
<tr>
...
...
@@ -805,11 +990,13 @@
</tr>
</table>
</div>
<!-- 111 -->
<div
class=
"_pay_box"
v-if=
"AuditOrRefundMsg.Status=='5'&&item.SpecialNode==2"
>
<!-- <div class="_pay_box"> -->
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;"
>
<tr>
<th>
账户分类
</th>
<th>
账户分类
收支冲抵
</th>
<th>
付款方式
</th>
<th>
账户
</th>
<!-- <th width="100px">账户余额</th> -->
...
...
@@ -1116,6 +1303,7 @@ import teamProductModule from "../commonPage/teamProductModule.vue";
import
TicketFinace
from
"../commonPage/TicketFinace.vue"
;
import
SaleOrderModule
from
"../commonPage/SaleOrderModule.vue"
;
import
TicketingModule
from
"../commonPage/TicketingModule.vue"
;
import
ChongDiPage
from
"../commonPage/ChongDiPage.vue"
;
import
{
truncate
}
from
'fs'
;
// import MsgBus from '../../assets/utils/msgBus.js';
...
...
@@ -1242,6 +1430,28 @@ export default {
currentMoney
:
0
,
benMoney
:
0
,
Ststus
:
0
,
chongDiShow
:
false
,
productionDate
:
[],
ChongDiMsg
:
{
QStartDate
:
''
,
QEndDate
:
''
,
TCID
:
''
,
ClientType
:
''
,
ClientID
:
''
,
sTradeDate
:
''
,
eTradeDate
:
''
,
Types
:
''
,
IsLeader
:
''
,
},
shifouChongDi
:
false
,
ClientTypeList
:[],
ClientAccountList
:
[],
HangingAccountList
:
[],
checkedAll
:
false
,
ChongDiMoney
:
0
,
ChongDiList
:
[],
isChongDi
:
false
,
danjuType
:
''
}
},
components
:{
"my-FlowChartModule"
:
myFlowChartModule
,
...
...
@@ -1255,8 +1465,110 @@ export default {
'SaleOrderModule'
:
SaleOrderModule
,
'TicketFinace'
:
TicketFinace
,
'my-HB-Bill'
:
myhrBill
,
'ChongDiPage'
:
ChongDiPage
,
},
methods
:{
// 单选计算
checkdIteam
(
item
){
console
.
log
(
item
.
checked
)
if
(
item
.
checked
)
{
if
(
item
.
HangingAccountsTypeStr
===
'收'
)
{
this
.
ChongDiMoney
+=
item
.
Money
}
else
{
this
.
ChongDiMoney
-=
item
.
Money
}
}
else
{
if
(
item
.
HangingAccountsTypeStr
===
'收'
)
{
this
.
ChongDiMoney
-=
item
.
Money
}
else
{
this
.
ChongDiMoney
+=
item
.
Money
}
}
},
// 全选
changeCheckedAll
(){
if
(
this
.
checkedAll
)
{
let
money
=
0
this
.
HangingAccountList
.
map
(
item
=>
{
item
.
checked
=
true
if
(
item
.
HangingAccountsTypeStr
===
'收'
)
{
money
+=
item
.
Money
}
else
{
money
-=
item
.
Money
}
})
this
.
ChongDiMoney
=
money
}
else
{
this
.
HangingAccountList
.
map
(
item
=>
{
item
.
checked
=
false
})
this
.
ChongDiMoney
=
0
}
},
GetHangingAccountList
(){
if
(
this
.
GetDetail
.
Type
===
1
&&
this
.
ChongDiMsg
.
ClientType
===
''
&&
this
.
ChongDiMsg
.
ClientID
===
''
)
{
this
.
$message
.
error
(
'请选择客户类型!'
)
return
}
this
.
apipost
(
'Financial_post_GetHangingAccountList'
,
this
.
ChongDiMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
console
.
log
(
data
)
data
.
map
(
item
=>
{
item
.
checked
=
false
})
this
.
HangingAccountList
=
data
}
},
null
)
},
financeinfo_post_GetClientAccountList
(
t
,
sel
){
//获取付款 对象类型 新增用
let
msg
=
{
ID
:
0
,
Type
:
t
,
ObjID
:
0
,
CardNum
:
''
}
if
(
sel
)
{
this
.
ChongDiMsg
.
ClientID
=
''
;
}
this
.
apipost
(
'financeinfo_post_GetClientAccountList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
let
ClientAccountList
=
[];
data
.
forEach
(
x
=>
{
let
obj
=
{
ID
:
x
.
ID
,
Name
:
x
.
AccountHolder
+
`(
${
x
.
AccountAlias
}
)`
,
Nom
:
x
.
CardNum
,
OpenBankName
:
x
.
OpenBankName
,
ObjID
:
x
.
ObjID
,
}
ClientAccountList
.
push
(
obj
)
})
this
.
ClientAccountList
=
ClientAccountList
;
}
},
err
=>
{})
},
financeinfo_post_GetClientTypeList
(){
// 获取对象类型
this
.
apipost
(
'financeinfo_post_GetClientTypeList'
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ClientTypeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
timeAdd
(
t
){
// 日期格式
if
(
t
==
1
){
//制单日期
if
(
!
this
.
productionDate
){
this
.
ChongDiMsg
.
QStartDate
=
''
;
this
.
ChongDiMsg
.
QEndDate
=
''
;
return
}
this
.
ChongDiMsg
.
QStartDate
=
this
.
productionDate
[
0
];
this
.
ChongDiMsg
.
QEndDate
=
this
.
productionDate
[
1
];
}
},
payMsgListShow
:
function
(
type
,
index
)
{
if
(
this
.
choiceMsg
.
Status
==
1
){
this
.
payMsgList
.
forEach
(
x
=>
{
...
...
@@ -1794,6 +2106,15 @@ export default {
// return;
// }
this
.
loading
=
true
;
if
(
this
.
shifouChongDi
)
{
let
idList
=
[]
this
.
HangingAccountList
.
map
(
item
=>
{
if
(
item
.
checked
)
{
idList
.
push
(
item
.
FdID
)
}
})
this
.
AuditOrRefundMsg
.
FdIdList
=
idList
}
this
.
apipost
(
'Financial_post_AuditOrRefund'
,
this
.
AuditOrRefundMsg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
...
...
@@ -1854,6 +2175,47 @@ export default {
}
this
.
$viewer
.
show
()
},
// 获取冲抵列表
getChongDiList
(
data
){
this
.
danjuType
=
data
.
Type
let
cmd
=
'Financial_post_GetHangingAccountList'
if
(
data
.
Type
===
7
){
cmd
=
'Financial_post_GetHangingMatchFinanceList'
}
this
.
apipost
(
cmd
,{
FrID
:
data
.
FrID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
this
.
ChongDiList
=
data
;
}
},
err
=>
{})
},
chongJudge
(
data
){
// 收支冲抵显示
let
p1
=
false
,
p2
=
false
;
data
.
AuditSteps
.
map
(
item
=>
{
if
(
item
.
NextStep
==
1
&&
item
.
AuditType
===
6
&&
item
.
Status
==
1
)
{
item
.
AuditRecordList
.
map
(
y
=>
{
if
(
y
.
AuditStatus
===
1
)
{
p1
=
true
}
else
{
p1
=
false
}
})
}
})
data
.
DetailList
.
map
(
item
=>
{
if
(
item
.
CostTypeName
===
'挂账单冲抵'
)
{
p2
=
true
}
})
if
(
p1
&&
p2
)
{
this
.
chongDiShow
=
true
;
}
if
(
p2
||
data
.
Type
===
7
)
{
this
.
isChongDi
=
true
;
this
.
getChongDiList
(
data
)
}
},
Financial_post_GetDetail
(
id
,
t
){
//获取单据详情
this
.
apipost
(
'Financial_post_GetDetail'
,{
ID
:
id
,
Type
:
2
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -1875,8 +2237,15 @@ export default {
}
})
}
this
.
chongJudge
(
data
)
this
.
GetDetail
=
data
;
this
.
ChongDiMsg
.
Types
=
''
this
.
ChongDiMsg
.
ClientType
=
data
.
Type
===
2
?
data
.
ClientType
:
''
this
.
ChongDiMsg
.
ClientID
=
data
.
Type
===
2
?
data
.
ClientID
:
''
if
(
data
.
Type
===
2
)
{
this
.
financeinfo_post_GetClientAccountList
(
this
.
ChongDiMsg
.
ClientType
)
this
.
GetHangingAccountList
()
}
let
AuditSteps
=
this
.
GetDetail
.
AuditSteps
;
let
ChuNaShenHe
=
false
for
(
let
i
=
0
;
i
<
AuditSteps
.
length
;
i
++
)
{
...
...
@@ -1917,7 +2286,6 @@ export default {
this
.
OrderSource
=
this
.
GetDetail
.
OrderSource
;
this
.
SourceID
=
this
.
GetDetail
.
SourceID
;
this
.
Callback
=
this
.
GetDetail
.
Callback
;
this
.
FrID
=
this
.
GetDetail
.
FrID
;
let
lastSpecialNode
=
this
.
GetDetail
.
AuditSteps
[
this
.
GetDetail
.
AuditSteps
.
length
-
1
].
SpecialNode
;
let
lastStatus
=
this
.
GetDetail
.
AuditSteps
[
this
.
GetDetail
.
AuditSteps
.
length
-
1
].
Status
;
if
(
lastSpecialNode
==
2
&&
lastStatus
==
1
&&
this
.
GetDetail
.
TradeDetailList
.
length
>
0
){
...
...
@@ -2060,6 +2428,7 @@ export default {
this
.
RB_Post_Id
=
userInfo
.
RB_Post_Id
;
this
.
ID
=
this
.
$route
.
query
.
id
;
this
.
queryMsg
.
FinanceId
=
this
.
$route
.
query
.
id
;
this
.
financeinfo_post_GetClientTypeList
();
this
.
Financial_post_GetDetail
(
this
.
ID
);
this
.
financeinfo_post_GetList
();
this
.
BankAccount_post_GetAccountType
();
...
...
src/components/FinancialModule/FinancialDocumentsDetail.vue
View file @
2fe734af
...
...
@@ -528,6 +528,7 @@
<SaleOrderModule
v-if=
"OrderSource==10&&SourceID&&OrderID"
:SourceID=
'SourceID'
:OrderID=
'OrderID'
/>
<TicketFinace
v-if=
"OrderSource==4&&SourceID&&Callback&&ID"
:SourceID=
'SourceID'
:Callback=
'Callback'
:id=
'ID'
/>
<TicketingModule
v-if=
"OrderSource==9&&FrID&&ID"
:FrID=
'FrID'
:id=
'ID'
/>
<ChongDiPage
v-if=
"GetDetail.Type === 7 || isChongDi"
:dataList=
"ChongDiList"
:type=
"danjuType"
/>
</div>
<div
class=
"_tit _tit2 w890px"
>
...
...
@@ -784,6 +785,7 @@ import teamProductModule from "../commonPage/teamProductModule.vue";
import
TicketFinace
from
"../commonPage/TicketFinace.vue"
;
import
SaleOrderModule
from
"../commonPage/SaleOrderModule.vue"
;
import
TicketingModule
from
"../commonPage/TicketingModule.vue"
;
import
ChongDiPage
from
"../commonPage/ChongDiPage.vue"
;
import
myDJieBill
from
"./FinancialSubmodule/DjieMergeBillModule.vue"
;
export
default
{
data
(){
...
...
@@ -847,6 +849,9 @@ export default {
currentPage
:
1
,
total
:
0
,
},
isChongDi
:
false
,
ChongDiList
:
[],
danjuType
:
''
}
},
components
:{
'my-FlowChartModule'
:
myFlowChartModule
,
...
...
@@ -860,6 +865,7 @@ export default {
'SaleOrderModule'
:
SaleOrderModule
,
'TicketFinace'
:
TicketFinace
,
'myDJieBill'
:
myDJieBill
,
'ChongDiPage'
:
ChongDiPage
,
},
created
(){
this
.
ID
=
this
.
$route
.
query
.
id
;
...
...
@@ -867,6 +873,33 @@ export default {
let
userinfo
=
this
.
getLocalStorage
();
this
.
bossID
=
userinfo
.
EmployeeId
;
},
methods
:{
// 获取冲抵列表
getChongDiList
(
data
){
this
.
danjuType
=
data
.
Type
let
cmd
=
'Financial_post_GetHangingAccountList'
if
(
data
.
Type
===
7
){
cmd
=
'Financial_post_GetHangingMatchFinanceList'
}
this
.
apipost
(
cmd
,{
FrID
:
data
.
FrID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
this
.
ChongDiList
=
data
;
}
},
err
=>
{})
},
chongJudge
(
data
){
// 收支冲抵显示
let
p1
=
false
;
data
.
DetailList
.
map
(
item
=>
{
if
(
item
.
CostTypeName
===
'挂账单冲抵'
)
{
p1
=
true
}
})
if
(
p1
||
data
.
Type
===
7
)
{
this
.
isChongDi
=
true
;
this
.
getChongDiList
(
data
)
}
},
goUrl
(
path
,
id
)
{
this
.
$router
.
push
({
name
:
path
,
...
...
@@ -1193,6 +1226,7 @@ export default {
}
})
}
this
.
chongJudge
(
data
)
this
.
GetDetail
=
data
;
// 截取掉驳回后面的审核步骤
this
.
ZhiDanRen
=
this
.
GetDetail
.
CreatBy
;
...
...
src/components/FinancialModule/ReportForm/TeamRevenueReport.vue
View file @
2fe734af
...
...
@@ -1199,6 +1199,26 @@ export default {
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
{
field
:
"GZIncome"
,
// formatter: this.moneyFormat,
title
:
"挂账收入"
,
width
:
90
,
titleAlign
:
"left"
,
columnAlign
:
"right"
,
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
{
field
:
"CDIncome"
,
// formatter: this.moneyFormat,
title
:
"冲抵收入"
,
width
:
90
,
titleAlign
:
"left"
,
columnAlign
:
"right"
,
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
{
field
:
"ShiJiLiRun"
,
formatter
:
this
.
moneyFormat
,
...
...
src/components/Hotel/roomReservationsDetails.vue
View file @
2fe734af
...
...
@@ -118,7 +118,7 @@
<tr>
<td
width=
"70"
style=
"text-align:center;"
colspan=
"2"
>
<span
style=
"color:red"
>
{{
subItem
.
NewHotelName
}}
</span>
<el-popover
placement=
"right"
width=
"5
0
0"
trigger=
"click"
v-model=
"subItem.isShowPop"
>
<el-popover
placement=
"right"
width=
"5
4
0"
trigger=
"click"
v-model=
"subItem.isShowPop"
>
<comCheckHotel
:ref=
"'comCheckHotel'+index+subIndex+''"
v-on:childHotel=
"childHotelList"
:UseDate=
"item.UseTimeStr"
>
</comCheckHotel>
<el-button
size=
"small"
type=
"danger"
:data-index=
"'comCheckHotel'+index+subIndex+''"
...
...
src/components/Login.vue
View file @
2fe734af
<
style
>
@import
"../assets/css/login.css"
;
@import
"../assets/css/summaryLogin.css"
;
</
style
>
<
style
>
</
style
>
<
template
>
<div
class=
"login-box"
>
<div
class=
"login-box
newSummaryLogin
"
>
<div
class=
"homepage-hero-module"
>
<!--
<div
class=
"video-container"
>
-->
<!--
<div
:style=
"fixStyle"
class=
"filter"
></div>
-->
<!--
<video
:style=
"fixStyle"
autoplay
loop
class=
"fillWidth"
v-on:canplay=
"canplay"
ref=
"audio"
>
-->
<!--
<source
src=
"/static/video/wt3.mp4"
type=
"video/mp4"
/>
-->
<!--浏览器不支持 video 标签,建议升级浏览器。-->
<!--
</video>
-->
<!--
<div
class=
"poster hidden"
v-if=
"!vedioCanPlay"
>
-->
<!--
<img
:style=
"fixStyle"
alt=
""
>
-->
<!--
</div>
-->
<!--
</div>
-->
<div
class=
"silder-box"
ref=
'box'
:style=
"
{'height':'100vh'}" v-show="height>0">
<div
class=
"item"
v-for=
"(item,index) in imgs"
:key=
"index"
>
<img
:style=
"
{'height':'100vh'}" :class="index==crtIndex?'active':''" ref="swiper" :src="item">
<div
:style=
"
{'height':'100vh'}">
<div
class=
"item"
>
<img
:style=
"
{'height':'100vh'}" src="../assets/img/summary.jpg" />
</div>
</div>
<!--
<img
src=
"../assets/img/login_bg_1.jpg"
alt=
""
>
-->
</div>
<div
class=
"cover"
></div>
<form
class=
"login-Div"
>
<form
class=
"Summary_login_Div"
>
<div
v-if=
"isShow==1"
>
<div
class=
"
m
ainTitle"
>
{{
groupModel
.
GroupName
?
groupModel
.
GroupName
:
''
}}
</div>
<div
class=
"login-commonBotm
T1
"
>
<div
class=
"
sumM
ainTitle"
>
{{
groupModel
.
GroupName
?
groupModel
.
GroupName
:
''
}}
</div>
<div
class=
"login-commonBotm"
>
<i
class=
"icon-login-name iconfont icon-user11"
></i>
<input
class=
"input"
@
focus=
"name_bline=true"
@
blur=
"name_bline=false"
maxlength=
"20"
autocomplete=
"new-password"
v-model=
"userInfo.name"
style=
"background-color:transparent !important;"
type=
"text"
:placeholder=
"$t('login.login_account')"
@
keyup
.
enter=
"doLogin"
/>
<div
class=
"name_bline_left"
:class=
"name_bline==true?'_bline_w':''"
></div>
...
...
@@ -45,7 +35,7 @@
<div
class=
"error-msg"
>
<div
v-show=
"passwordIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
passwordErrorMsg
}}
</div>
</div>
<button
type=
"button"
class=
"
l
oginBtn"
:class=
"
{'loginIng':loginState==1}" :disabled="loginState==1" @click="doLogin">
{{
loginState
==
1
?
'登录中...'
:
'登录'
}}
</button>
<button
type=
"button"
class=
"
sL
oginBtn"
:class=
"
{'loginIng':loginState==1}" :disabled="loginState==1" @click="doLogin">
{{
loginState
==
1
?
'登录中...'
:
'登录'
}}
</button>
<div
class=
"forgetPw"
>
<span
@
click=
"updatePwd"
>
{{
$t
(
'login.login_forgetpwd'
)
}}
?
</span>
</div>
...
...
@@ -61,9 +51,9 @@
</div>
</div>
<div
v-if=
"isShow==2"
class=
"phoneLogin"
>
<div
class=
"
m
ainTitle bindTitle"
>
{{
groupModel
.
GroupName
?
groupModel
.
GroupName
:
''
}}
</div>
<div
class=
"
bind
Phone"
>
绑定手机号
</div>
<div
class=
"login-commonBotm
T1
"
>
<div
class=
"
sumM
ainTitle bindTitle"
>
{{
groupModel
.
GroupName
?
groupModel
.
GroupName
:
''
}}
</div>
<div
class=
"
sum
Phone"
>
绑定手机号
</div>
<div
class=
"login-commonBotm"
>
<i
class=
"icon-login-name iconfont icon-phone1"
></i>
<input
class=
"input"
@
focus=
"name_bline=true"
@
blur=
"name_bline=false"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"11"
autocomplete=
"new-password"
v-model=
"mobileNumber"
style=
"background-color:transparent !important;"
type=
"text"
placeholder=
"请输入手机号"
/>
<div
class=
"name_bline_left"
:class=
"name_bline==true?'_bline_w':''"
></div>
...
...
@@ -85,13 +75,13 @@
<div
class=
"error-msg"
>
<div
v-show=
"passwordIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
passwordErrorMsg
}}
</div>
</div>
<input
type=
"button"
class=
"
l
oginBtn"
@
click=
"doBind"
value=
"确认绑定"
/>
<input
type=
"button"
class=
"
sL
oginBtn"
@
click=
"doBind"
value=
"确认绑定"
/>
</div>
<div
v-if=
"isShow==3"
class=
"phoneLogin"
>
<div
class=
"
m
ainTitle bindTitle"
>
{{
groupModel
.
GroupName
?
groupModel
.
GroupName
:
''
}}
</div>
<div
class=
"
bind
Phone"
>
修改密码
</div>
<div
class=
"login-commonBotm
T1
"
>
<div
class=
"
sumM
ainTitle bindTitle"
>
{{
groupModel
.
GroupName
?
groupModel
.
GroupName
:
''
}}
</div>
<div
class=
"
sum
Phone"
>
修改密码
</div>
<div
class=
"login-commonBotm"
>
<i
class=
"icon-login-name iconfont icon-phone1"
></i>
<input
class=
"input"
@
focus=
"name_bline=true"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"11"
@
blur=
"name_bline=false"
autocomplete=
"new-password"
v-model=
"mobileNumber"
style=
"background-color:transparent !important;"
type=
"text"
placeholder=
"请输入手机号"
/>
<div
class=
"name_bline_left"
:class=
"name_bline==true?'_bline_w':''"
></div>
...
...
@@ -118,13 +108,14 @@
</div>
</div>
<div
class=
"forgetPw"
>
<span
@
click=
"goLogin"
>
去登录
</span>
</div>
<div
class=
"error-msg"
>
<div
class=
"error-msg"
style=
"float:left;width:auto;"
>
<div
v-show=
"passwordIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
passwordErrorMsg
}}
</div>
</div>
<input
type=
"button"
class=
"loginBtn changeBtn"
@
click=
"changePwd"
value=
"确认修改"
/>
<span
@
click=
"goLogin"
>
去登录
</span>
</div>
<input
type=
"button"
class=
"sLoginBtn changeBtn"
@
click=
"changePwd"
value=
"确认修改"
/>
</div>
<img
class=
"login_elephant"
src=
"../assets/img/elephant.gif"
alt=
""
/>
</form>
</div>
</
template
>
...
...
@@ -431,6 +422,13 @@ export default {
this
.
apipost
(
"user_change_password_by_mobileNumber"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
isShow
=
1
;
this
.
$notify
.
success
({
title
:
"提示"
,
customClass
:
"msgTips"
,
message
:
res
.
data
.
message
,
showClose
:
false
,
duration
:
3000
});
}
else
{
this
.
$notify
.
error
({
title
:
"提示"
,
...
...
src/components/SalesVisa/VisaProduct.vue
View file @
2fe734af
...
...
@@ -291,8 +291,8 @@
</li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"getList()"
>
查询
</button>
<
button
class=
"normalBtn"
v-show=
"!buttonshow"
@
click=
"cancelEdit(),addShow=true"
v-if=
"msg.isFinacial==1"
>
添加
</button
>
<button
class=
"normalBtn"
v-show=
"buttonshow"
@
click=
"AddVisaProduct"
v-if=
"msg.isFinacial==1"
>
添加(新)
</button>
<
!--
<button
class=
"normalBtn"
v-show=
"!buttonshow"
@
click=
"cancelEdit(),addShow=true"
v-if=
"msg.isFinacial==1"
>
添加
</button>
--
>
<button
class=
"normalBtn"
@
click=
"AddVisaProduct"
v-if=
"msg.isFinacial==1"
>
添加
</button>
</li>
</ul>
</div>
...
...
@@ -395,7 +395,7 @@
</td>
<td
class=
"groupTourOrderIcon"
>
<el-button-group>
<el-tooltip
<
!--
<
el-tooltip
class=
"item"
effect=
"dark"
content=
"修改"
...
...
@@ -408,15 +408,15 @@
icon=
"iconfont icon-img_bianji_small"
@
click=
"getDetail(item)"
></el-button>
</el-tooltip>
</el-tooltip>
-->
<el-tooltip
class=
"item"
effect=
"dark"
content=
"修改
(新)
"
content=
"修改"
placement=
"top-start"
v-if=
"item.SendVisaStatus==1&&msg.isFinacial==1"
>
<el-button
v-show=
"buttonshow"
<el-button
type=
"primary"
style=
"background:#409EFF; border-color:#409EFF"
icon=
"iconfont icon-img_bianji_small"
...
...
@@ -665,15 +665,15 @@ export default {
addShow
:
false
,
currentPage
:
1
,
VisaManagementList
:
[],
buttonshow
:
false
,
//
buttonshow:false,
Type
:
0
,
};
},
created
(){
let
locationName
=
window
.
location
.
hostname
;
if
(
locationName
.
indexOf
(
'viitto'
)
!==
-
1
||
locationName
.
indexOf
(
'www'
)
!==
-
1
){
this
.
buttonshow
=
true
;
}
//
let locationName = window.location.hostname;
//
if (locationName.indexOf('viitto') !== -1 || locationName.indexOf('www') !== -1){
//
this.buttonshow=true;
//
}
},
methods
:
{
...
...
src/components/Supplier/roomQuery2.vue
0 → 100644
View file @
2fe734af
<
template
>
<div
class=
"roomQuery"
>
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<ul
style=
"position:relative;"
>
<li>
<span>
<em>
月份
</em>
<el-date-picker
v-model=
"msg.MonthStr"
type=
"monthrange"
range-separator=
"至"
start-placeholder=
"开始月份"
end-placeholder=
"结束月份"
>
</el-date-picker>
</span>
</li>
<li
style=
"position:absolute;right:10px;top:0;"
>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getList();resetPageIndex()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"下载"
@
click=
"DownLoadHotel()"
/>
</li>
</ul>
</div>
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; "
class=
"ownScrollbarStyle"
>
<div
style=
"font-size:12px;padding:2px 4px 3px 20px;"
>
<div
style=
"display:inline-block;color:red"
>
注意事项:每次导出数据最好不要超过一个月。
</div>
<div
class=
"rq_comSpan"
style=
"display:inline-block;"
>
颜色说明:
<span
class=
"rq_span1"
>
未操作
</span><span
class=
"rq_span2"
>
操作中
</span><span
class=
"rq_span3"
>
操作完成
</span><span
class=
"rq_span4"
>
机位数和人数不相符
</span>
</div>
</div><br
/>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"roomQuery_SupplierTable"
v-loading=
'loading'
>
<tr>
<th
width=
"100"
>
序号
</th>
<th
width=
"120"
>
出发地
</th>
<th
width=
"100"
>
公司团号
</th>
<th
width=
"80"
>
团队状态
</th>
<th
width=
"100"
>
系列
</th>
<th
width=
"120"
>
机位总数
<br
/>
(Y/E/F)
</th>
<th
width=
"100"
>
时间
</th>
<th
width=
"150"
>
酒店
</th>
<th
width=
"100"
>
酒店使用情况
</th>
<th
width=
"100"
>
操作
</th>
</tr>
<tr
v-if=
"dataList.length==0"
>
<td
colspan=
"9"
>
暂无数据
</td>
</tr>
<template
v-for=
"(item,index) in dataList"
>
<template
v-for=
"(subItem,subIndex) in item.subList"
>
<tr
v-for=
"(childItem,childIndex) in subItem.hotelList"
:class=
"
{roomQuerySplitTrCss:index%2!=0}">
<td
v-if=
"childIndex==0&&subIndex==0"
:rowspan=
"item.RowSpan"
>
{{
item
.
NewCombinationNum
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.hotelList.length"
>
{{
subItem
.
StartCityNames
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.hotelList.length"
>
{{
subItem
.
TCNUMS
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.SupplierRemarks!=''?subItem.hotelList.length+1:subItem.hotelList.length"
>
<span
v-if=
"subItem.TCState==3&&subItem.Status==1"
>
正常
</span>
<span
v-else
>
取消
</span>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.hotelList.length"
>
{{
subItem
.
LineteamIdNames
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.hotelList.length"
>
{{
subItem
.
TotalSeat
}}
/
{{
subItem
.
RealityYSeatNum
}}
/
{{
subItem
.
RealityESeatNum
}}
/
{{
subItem
.
RealityFSeatNum
}}
</td>
<td>
{{
childItem
.
CheckInDateStr
}}
</td>
<td
class=
"tdLeft"
>
<template
v-if=
"childItem.SupplierId==UserInfo.SupplierId"
>
<template
v-if=
"childItem.SupplierHotelStatus==0"
>
{{
childItem
.
NewHotelName
}}
</
template
>
<
template
v-else-if=
"childItem.SupplierHotelStatus==1"
>
<a
style=
"color:#7abd53"
>
{{
childItem
.
NewHotelName
}}
</a></
template
>
<
template
v-else-if=
"childItem.SupplierHotelStatus==2"
>
<a
style=
"color:blue"
>
{{
childItem
.
NewHotelName
}}
</a>
</
template
>
(
<
template
v-if=
"subItem.TotalSeat/2!=childItem.SupplierBookNum"
>
<a
style=
"font-weight:bold; color:red;"
title=
"总机位数和预订间数不相符"
>
{{
childItem
.
SupplierBookNum
}}
</a>
</
template
>
<
template
v-else
>
<a
style=
"font-weight:bold;"
>
{{
childItem
.
SupplierBookNum
}}
</a>
</
template
>
间)
</template>
<
template
v-else
>
组团社自理
</
template
>
</td>
<td>
<!--<span >
<template v-if="childItem.SupplierId==UserInfo.SupplierId">
<template v-if="childItem.OPState==1">[OP选房-OK]</template>
<template v-else-if="childItem.OPState==2&&childItem.DMCState==0">[OP-暂定]</template>
<template
v-else>{{childItem.DMCState==1?"[地接-OK]":(childItem.DMCState==0?"[地接-未操作]":"[地接-暂定]")}}</template>
</template>
</span>
-->
<
template
v-if=
"childItem.SupplierId==UserInfo.SupplierId"
>
<template
v-if=
"childItem.SupplierHotelStatus==0"
>
未操作
</
template
>
<
template
v-else-if=
"childItem.SupplierHotelStatus==1"
><a
style=
"color:#7abd53"
>
操作中
</a></
template
>
<
template
v-else-if=
"childItem.SupplierHotelStatus==2"
><a
style=
"color:blue"
>
操作完成
</a></
template
>
</template>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.SupplierRemarks!=''?subItem.hotelList.length+1:subItem.hotelList.length"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"操作信息"
placement=
"top-start"
>
<el-popover
placement=
"bottom"
width=
"500"
trigger=
"click"
>
<table>
<tr>
<th
width=
"90"
>
时间
</th>
<th
width=
"160"
>
酒店
</th>
<th
width=
"100"
>
数量
</th>
<th
width=
"100"
>
状态
</th>
</tr>
<tr
v-for=
"opItem in CurrentHotelList"
>
<
template
v-if=
"opItem.SupplierId==UserInfo.SupplierId"
>
<td>
{{
opItem
.
CheckInDateStr
}}
</td>
<td
style=
"padding-right:10px;"
>
{{
opItem
.
NewHotelName
}}
</td>
<td>
<el-input
style=
"width:60px;"
v-model=
'opItem.SupplierBookNum'
type=
'text'
placeholder=
"预订数量"
>
</el-input>
间
</td>
<td>
<el-select
v-model=
"opItem.SupplierHotelStatus"
filterable
class=
"multiple_input"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
'未操作'
:value=
'0'
:key=
'0'
>
</el-option>
<el-option
label=
'操作中'
:value=
'1'
:key=
'1'
>
</el-option>
<el-option
label=
'操作完成'
:value=
'2'
:key=
'2'
>
</el-option>
</el-select>
</td>
</
template
>
</tr>
</table>
<p
class=
"alcenter mt10"
>
<input
type=
"button"
value=
"保存"
@
click=
"SaveSupplierData(CurrentHotelList)"
class=
"normalBtn"
/>
</p>
<a
style=
"text-decoration:underline;color:blue;cursor:pointer"
slot=
"reference"
@
click=
"GetItemHotelData(subItem.hotelList)"
>
操作
</a>
</el-popover>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"日志信息"
placement=
"top-start"
>
<el-popover
placement=
"bottom"
width=
"500"
trigger=
"click"
>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"queryLogTable"
style=
" border-collapse:collapse;"
>
<tr>
<th
width=
"100"
style=
"background: #e6e6e6; height: 35px; font-size: 12px;color: #333;text-align:center;border:1px solid #d1d1d1;"
>
操作人
</th>
<th
width=
"100"
style=
"background: #e6e6e6; height: 35px; font-size: 12px;color: #333;text-align:center;border:1px solid #d1d1d1;"
>
日期
</th>
<th
width=
"100"
style=
"background: #e6e6e6; height: 35px; font-size: 12px;color: #333;text-align:center;border:1px solid #d1d1d1;"
>
操作时间
</th>
<th
width=
"190"
style=
"background: #e6e6e6; height: 35px; font-size: 12px;color: #333;text-align:center;border:1px solid #d1d1d1;"
>
内容
</th>
</tr>
<
template
v-if=
"LogsList.length>0"
>
<tr
v-for=
"(item,index) in LogsList"
>
<td
style=
"height: 35px; font-size: 12px;text-align:center;border:1px solid #d1d1d1;"
>
{{
item
.
CreateByName
}}
</td>
<td
style=
"height: 35px; font-size: 12px;text-align:center;border:1px solid #d1d1d1;"
>
{{
item
.
UseTimeStr
}}
</td>
<td
style=
"height: 35px; font-size: 12px;text-align:center;border:1px solid #d1d1d1;"
>
{{
item
.
CreateTimeStr
}}
</td>
<td
style=
"height: 35px; font-size: 12px;text-align:left;border:1px solid #d1d1d1;"
>
{{
item
.
Remarks
}}
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"5"
>
暂无数据...
</td>
</tr>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange2"
:current-page
.
sync=
"queryLogMsg.currentPage"
:page-size=
"queryLogMsg.pageSize"
layout=
"total,prev, pager, next, jumper"
:total=
"queryLogMsg.total"
>
</el-pagination>
<a
style=
"text-decoration:underline;color:blue;cursor:pointer"
slot=
"reference"
@
click=
"getLogsList(subItem.TCID)"
>
日志
</a>
</el-popover>
</el-tooltip>
<a
style=
"text-decoration:underline;color:blue;cursor:pointer"
@
click=
"AddSupplierComplain(subItem.Complain_Extend.Id,subItem.Complain_Extend.TCID)"
>
<
template
v-if=
"subItem.Complain_Extend.Id>0"
>
编辑投诉
</
template
>
<
template
v-else
>
添加投诉
</
template
>
</a>
<a
style=
"text-decoration:underline;color:red;cursor:pointer"
v-if=
"subItem.Complain_Extend.Id>0"
@
click=
"DeleteSupplierComplain(subItem.Complain_Extend.Id)"
>
删除
</a>
</td>
</tr>
<
template
v-if=
"subItem.SupplierRemarks"
>
<tr
v-if=
"subIndex==0"
:class=
"
{roomQuerySplitTrCss:index%2!=0}">
<td
colspan=
"9"
class=
"redTip"
>
<p>
备注:
{{
subItem
.
SupplierRemarks
}}
</p>
</td>
</tr>
</
template
>
</template>
</template>
</table>
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"total"
>
</el-pagination>
</div>
</template>
<
script
>
export
default
{
data
()
{
return
{
loading
:
false
,
currentPage
:
1
,
total
:
0
,
msg
:
{
pageIndex
:
1
,
pageSize
:
5
,
SelectType
:
1
,
StartDate
:
''
,
EndDate
:
''
,
//酒店编号
HotelId
:
0
,
//日期
DateStr
:
""
,
//出团公司
OutBranchIds
:
[],
LineId
:
14
,
PlaceID
:
0
,
LineteamId
:
0
,
//航空公司
AirLineId
:
0
,
CreateBy
:
0
,
TCNUM
:
''
,
PriceStatus
:
0
,
CombinationNum
:
''
,
MonthStr
:
""
//月份字符串
},
UserInfo
:
{},
//分公司类表
companyList
:
[],
//酒店列表
HotelList
:
[],
LineList
:
[],
LineTeamList
:
[],
thLengthTitle
:
[],
dataList
:
[],
//日志信息
LogsList
:
[],
queryLogMsg
:
{
pageIndex
:
1
,
pageSize
:
5
,
currentPage
:
1
,
total
:
0
,
HotelId
:
0
,
TCID
:
0
},
queryCommonData
:
{
//公司数据
BranchList
:
[],
//国家
PlaceList
:
[],
LineList
:
[],
LineTeamList
:
[],
AirlineList
:
[],
EmployeeList
:
[],
},
//当前酒店列表
CurrentHotelList
:
[],
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
if
(
this
.
msg
.
EndDate
==
null
)
{
return
false
;
}
else
{
let
endTime
=
new
Date
(
this
.
msg
.
EndDate
)
return
endTime
.
getTime
()
<
time
.
getTime
()
}
}
},
pickerBeginDateAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
msg
.
StartDate
)
return
startTime
.
getTime
()
>=
time
.
getTime
()
}
}
}
},
methods
:
{
handleCurrentChange2
(
val
)
{
this
.
queryLogMsg
.
pageIndex
=
val
;
this
.
getLogsList
();
},
//获取日志
getLogsList
(
TCID
)
{
if
(
TCID
)
{
this
.
queryLogMsg
.
TCID
=
TCID
;
}
this
.
ApiPost2
(
'DmcInfoChangeLog_get_GetHotelLogList'
,
this
.
queryLogMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LogsList
=
res
.
data
.
data
.
pageData
;
this
.
queryLogMsg
.
total
=
res
.
data
.
data
.
count
;
}
},
err
=>
{})
},
GetItemHotelData
(
hotelList
)
{
this
.
CurrentHotelList
=
JSON
.
parse
(
JSON
.
stringify
(
hotelList
));
},
//删除投诉
DeleteSupplierComplain
(
Id
)
{
if
(
Id
>
0
)
{
var
that
=
this
;
this
.
Confirm
(
"是否此投诉信息删除?"
,
function
()
{
var
msg
=
{
Id
:
Id
};
that
.
ApiPost2
(
"supplierComplain_Post_RemoveSupplierComplain"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
'删除成功!'
);
that
.
getList
();
}
else
{
that
.
Error
(
res
.
data
.
data
);
}
},
null
);
});
}
},
getLineList
()
{
this
.
ApiPost2
(
"line_post_GetAllList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineList
=
res
.
data
.
data
;
}
});
},
//获取系列列表
getLineTeamList
(
lineId
)
{
this
.
LineTeamList
=
[];
this
.
ApiPost2
(
"team_post_GetList"
,
{
lineID
:
14
,
isTOOP
:
1
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msg
.
LineteamId
=
"-1"
;
this
.
LineTeamList
=
res
.
data
.
data
;
}
}
);
},
AddSupplierComplain
(
id
,
tcid
)
{
this
.
$router
.
push
({
name
:
'AddSupplierComplaints'
,
query
:
{
Id
:
id
,
TCID
:
tcid
,
blank
:
'y'
,
tab
:
'供应商投诉'
}
})
},
goUrlR
(
path
,
obj
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
"ID"
:
obj
,
blank
:
'y'
,
tab
:
title
}
})
},
goUrlT
(
path
,
obj
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
"id"
:
obj
,
blank
:
'y'
,
tab
:
title
}
})
},
goUrl
(
path
,
obj
,
outItem
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
"id"
:
obj
.
TCIDS
,
'TCNUM'
:
obj
.
TCNUMS
,
'flightTotal'
:
obj
.
TotalSeat
,
'GuestNum'
:
obj
.
CommonReport
.
HouseStatistics
.
RealityNum
,
'NewCombinationNum'
:
outItem
.
NewCombinationNum
,
blank
:
'y'
,
tab
:
title
}
})
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
getList
()
{
this
.
loading
=
true
;
this
.
ApiPost2
(
'dmcstatistics_post_GetUniteCombinationNumService_Supplier'
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
total
=
res
.
data
.
data
.
count
;
this
.
dataList
=
res
.
data
.
data
.
pageData
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
//获取酒店列表
GetHotelList
()
{
this
.
ApiPost2
(
"hotel_post_GetHasStockHotelList_Supplier"
,
{
Country
:
651
,
IsMoreThanZero
:
1
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HotelList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//保存酒店新
SaveSupplierData
(
hotelList
)
{
this
.
ApiPost2
(
"dmcstatistics_post_SetNewHotelOrder_Supplier"
,
hotelList
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
"操作成功!"
);
this
.
getList
();
}
else
{
this
.
Error
(
"操作失败!"
);
}
},
err
=>
{}
);
},
//下载Excel
DownLoadHotel
()
{
this
.
loading
=
true
;
let
qMsg
=
{
queryMsg
:
this
.
msg
,
uid
:
this
.
UserInfo
.
SupplierAccountId
,
OPType
:
1
};
let
fileName
=
"订房查询"
+
this
.
$commonUtils
.
getCurrentDate
()
+
".xls"
;
this
.
GetLocalFile
(
"hotel_get_downloadHotel"
,
qMsg
,
fileName
,
res
=>
{
this
.
loading
=
false
;
});
},
//获取目的地列表
getLinePlaceList
()
{
this
.
msg
.
PlaceID
=
0
;
this
.
msg
.
LineteamId
=
0
;
let
msg
=
{
lineID
:
this
.
msg
.
LineId
,
}
this
.
ApiPost2
(
'team_post_GetLinePlace'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
PlaceList
=
res
.
data
.
data
this
.
queryCommonData
.
LineTeamList
=
[]
}
})
},
//获取系列列表
getLineTeamList
()
{
this
.
msg
.
LineteamId
=
0
let
msg
=
{
lineID
:
this
.
msg
.
LineId
,
placeID
:
this
.
msg
.
PlaceID
,
isTOOP
:
1
}
this
.
ApiPost2
(
'team_post_GetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
LineTeamList
=
res
.
data
.
data
}
})
},
//获取航空公司
getAirlineList
()
{
this
.
ApiPost2
(
'airline_post_GetList'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
AirlineList
=
res
.
data
.
data
}
},
err
=>
{}
)
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList
()
{
let
userInfo
=
this
.
getLocalStorage
()
let
msg
=
{
GroupId
:
userInfo
.
RB_Group_id
,
BranchId
:
'-1'
,
DepartmentId
:
'-1'
,
PostId
:
'-1'
,
IsLeave
:
'0'
}
this
.
ApiPost2
(
'admin_get_EmployeeGetList'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
EmployeeList
=
res
.
data
.
data
}
},
err
=>
{}
)
},
//初始化公司
getCompanyList
()
{
let
userInfo
=
this
.
getLocalStorage
()
var
RB_Group_id
=
userInfo
.
RB_Group_id
let
msg
=
{
Status
:
0
,
is_show
:
0
,
RB_Group_Id
:
RB_Group_id
}
this
.
ApiPost2
(
'admin_get_BranchGetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
BranchList
=
res
.
data
.
data
;
}
},
err
=>
{}
)
},
},
mounted
()
{
this
.
UserInfo
=
this
.
getLocalStorageSupplier
();
let
myDate
=
new
Date
();
let
nowDate
=
myDate
.
getFullYear
()
+
"-"
+
parseInt
(
myDate
.
getMonth
()
+
1
)
+
"-"
+
myDate
.
getDate
();
if
(
this
.
$route
.
query
.
hotelId
)
{
this
.
msg
.
HotelId
=
this
.
$route
.
query
.
hotelId
;
}
if
(
this
.
$route
.
query
.
dateStr
)
{
this
.
msg
.
DateStr
=
this
.
$route
.
query
.
dateStr
;
}
if
(
this
.
$route
.
query
.
hotelId
||
this
.
$route
.
query
.
dateStr
)
{
this
.
msg
.
StartDate
=
""
;
}
else
{
this
.
msg
.
StartDate
=
nowDate
;
}
this
.
getLinePlaceList
();
this
.
getAirlineList
();
this
.
getEmployeeList
();
this
.
getCompanyList
();
this
.
GetHotelList
();
this
.
getList
();
},
}
</
script
>
<
style
>
.roomQuerySplitTrCss
td
{
background
:
#eee
!important
;
}
.roomQuery_SupplierTable
{
width
:
98%
;
font-size
:
12px
;
color
:
#333
;
margin
:
auto
;
border-collapse
:
collapse
;
background-color
:
#fff
;
border
:
1px
solid
#d1d1d1
;
}
.roomQuery_SupplierTable
tr
th
{
background
:
#E6E6E6
;
height
:
40px
;
font-size
:
12px
;
color
:
#333
;
}
.roomQuery_SupplierTable
tr
td
{
border
:
1px
solid
#d1d1d1
;
text-align
:
center
;
padding
:
5px
0
;
}
.roomQuery_SupplierTable
.tdLeft
{
text-align
:
left
;
padding-left
:
5px
;
}
.roomQuery_SupplierTable
.redTip
{
text-align
:
left
;
color
:
red
;
padding-left
:
5px
;
}
.roomQuery
.rq_comSpan
{
font-size
:
14px
;
margin-left
:
20px
;
}
.roomQuery
.rq_comSpan
>
span
{
display
:
inline-block
;
padding
:
2px
4px
;
color
:
#fff
;
border-radius
:
5px
;
margin-right
:
10px
;
}
.roomQuery
.rq_span1
{
background-color
:
#333
;
}
.roomQuery
.rq_span2
{
background-color
:
#7abd53
;
}
.roomQuery
.rq_span3
{
background-color
:
blue
;
}
.roomQuery
.rq_span4
{
background-color
:
red
;
}
</
style
>
src/components/TravelManager/TravelList/TeamBalancePayment.vue
View file @
2fe734af
...
...
@@ -193,7 +193,6 @@
<div>
应收:
<span>
¥
{{
moneyFormat
(
moneyAll
.
otheryTotalyf
)
}}
</span></div>
<div>
实收:
<span
class=
"Team_Coins"
>
¥
{{
moneyFormat
(
moneyAll
.
otheryTotalsf
)
}}
</span></div>
<div>
待收:
<span
class=
"Team_Coins"
>
¥
{{
moneyFormat
(
moneyAll
.
otheryTotalyf
-
moneyAll
.
otheryTotalsf
)
}}
</span></div>
<div>
挂账总收入:
<span>
¥
{{
moneyFormat
(
AllCont
.
Income
)
}}
</span></div>
<!--
<div>
注:应收=订单应收总额,实收=订单实收总额
</div>
-->
...
...
@@ -211,7 +210,6 @@
<div>
应付:
<span>
¥
{{
DataList
.
TeamBalance
.
ShouldPay
}}
</span></div>
<div>
实付:
<span
class=
"Team_Coins"
>
¥
{{
DataList
.
TeamBalance
.
ActualPay
}}
</span></div>
<div>
待付:
<span
class=
"Team_Coins"
>
¥
{{
DataList
.
TeamBalance
.
WaitPay
}}
</span></div>
<div>
挂账总支出:
<span>
¥
{{
moneyFormat
(
AllCont
.
Expend
)
}}
</span></div>
<div>
注:成本单据总额(包含退款)+提成-小费收入-地接收入
</div>
...
...
@@ -229,7 +227,7 @@
<div>
实际利润:
<span>
¥
{{
DataList
.
TeamBalance
.
ExpectedProfit
}}
</span></div>
<div>
当前利润:
<span
class=
"Team_Coins"
>
¥
{{
DataList
.
TeamBalance
.
ActualProfit
}}
</span></div>
<div>
注:实收-(应付/实付)+佣金收入+自费收入-联运成本
注:实收-(应付/实付)+佣金收入+自费收入-联运成本
+挂账总收入-挂账总支出+冲抵总收入-冲抵总支出
</div>
</div>
</div>
...
...
@@ -251,7 +249,7 @@
<div>
联运成本:
<span>
¥{{DataList.LYCB}}
</span></div>
</div>
</el-col>
<
!-- <
el-col :span="4">
<el-col
:span=
"4"
>
<div
class=
"Team_DList"
>
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_lirun"
>
...
...
@@ -259,12 +257,13 @@
</span>
挂账信息
</div>
<div
class=
"Team_Incontent"
>
<div>挂账总金额:<span>¥{{moneyFormat(AllCont.Income - AllCont.Expend)}}</span></div>
<div>挂账总支出:<span>¥{{moneyFormat(AllCont.Expend)}}</span></div>
<div>挂账总收入:<span>¥{{moneyFormat(AllCont.Income)}}</span></div>
<div>
挂账总收入:
<span>
¥{{moneyFormat(DataList.TeamBalance.GZIncome)}}
</span></div>
<div>
挂账总支出:
<span>
¥{{moneyFormat(DataList.TeamBalance.GZExpend)}}
</span></div>
<div>
冲抵总收入:
<span>
¥{{moneyFormat(DataList.TeamBalance.CDIncome)}}
</span></div>
<div>
冲抵总支出:
<span>
¥{{moneyFormat(DataList.TeamBalance.CDExpend)}}
</span></div>
</div>
</div>
</el-col>
-->
</el-col>
<el-col
:span=
"4"
>
<div
class=
"Team_DList"
>
<div
class=
"Team_firstTitle"
>
...
...
@@ -1079,6 +1078,81 @@
</
template
>
</table>
</div>
<div
class=
"Team_collection"
v-loading=
"loading"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
挂账冲抵
</div>
</div>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
冲抵单据:
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
冲抵金额
</th>
<th
width=
"500"
>
挂账类型
</th>
<th
width=
"500"
>
挂账对象
</th>
<th
width=
"500"
>
单据状态
</th>
<th
width=
"300"
>
创建时间
</th>
<th
width=
"200"
>
创建人
</th>
</tr>
<tr
v-for=
"item in DataList.CDList"
>
<td><span
class=
"Team_income"
@
click=
"goUrl('FinancialDocumentsDetail',item.FrID)"
>
{{item.FrID}}
</span></td>
<td>
<span>
{{item.fmrMoney}}
</span>
</td>
<td>
<span>
{{item.HangingAccountsTypeStr}}
</span>
</td>
<td>
<span>
{{item.RemitterName}}:{{item.AccountNumber}}
</span>
</td>
<td>
<span>
{{item.StatusStr}}
</span>
</td>
<td>
<span>
{{item.CreateDateStr}}
</span>
</td>
<td>
<span>
{{item.createByStr}}
</span>
</td>
</tr>
</table>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
挂账单据:
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
挂账金额
</th>
<th
width=
"500"
>
挂账类型
</th>
<th
width=
"500"
>
挂账对象
</th>
<th
width=
"500"
>
单据状态
</th>
<th
width=
"300"
>
创建时间
</th>
<th
width=
"200"
>
创建人
</th>
</tr>
<tr
v-for=
"item in DataList.GuaZhangList"
>
<td><span
class=
"Team_income"
@
click=
"goUrl('FinancialDocumentsDetail',item.FrID)"
>
{{item.FrID}}
</span></td>
<td>
<span>
{{item.Money}}
</span>
</td>
<td>
<span>
{{item.HangingAccountsTypeStr}}
</span>
</td>
<td>
<span>
{{item.RemitterName}}:{{item.AccountNumber}}
</span>
</td>
<td>
<span>
{{item.StatusStr}}
</span>
</td>
<td>
<span>
{{item.CreateDateStr}}
</span>
</td>
<td>
<span>
{{item.createByStr}}
</span>
</td>
</tr>
</table>
</div>
<div
class=
"Team_collection"
v-loading=
"loading"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
非成本
</div>
...
...
@@ -1250,43 +1324,6 @@
</tr>
</
template
>
</table>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
挂账单据:
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
挂账金额
</th>
<th
width=
"500"
>
挂账类型
</th>
<th
width=
"500"
>
挂账对象
</th>
<th
width=
"500"
>
单据状态
</th>
<th
width=
"300"
>
创建时间
</th>
<th
width=
"200"
>
创建人
</th>
</tr>
<tr
v-for=
"item in HangingList"
>
<td>
<span>
{{item.FrID}}
</span>
</td>
<td>
<span>
{{item.Money}}
</span>
</td>
<td>
<span>
{{item.HangingAccountsTypeStr}}
</span>
</td>
<td>
<span>
{{item.RemitterName}}:{{item.AccountNumber}}
</span>
</td>
<td>
<span>
{{item.StatusStr}}
</span>
</td>
<td>
<span>
{{item.CreateDateStr}}
</span>
</td>
<td>
<span>
{{item.createByStr}}
</span>
</td>
</tr>
</table>
</div>
</div>
<div
class=
"Team_BtnList"
v-if=
"IsHaveAuth"
>
...
...
@@ -1389,37 +1426,10 @@
otheryTotalyf
:
0
,
otheryTotalsf
:
0
,
},
AllCont
:
{
Income
:
0
,
Expend
:
0
,
},
HangingList
:
[],
};
},
methods
:
{
getAllCont
:
function
()
{
let
msg
=
{
TCID
:
this
.
TCID
,
// FrID: 0,
// UpdateBy: '-1',
// RB_Branch_Id: -1,
// RB_Depart_Id: -2,
// sDate: '',
// eDate: '',
// Status: '-1',
// sTradeDate: '',
// eTradeDate: '',
// EmployeeId: 0,
// ClientType: 0,
}
this
.
apipost
(
'Financial_post_GetHangingAccountTotalPrice'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
AllCont
=
res
.
data
.
data
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
null
)
},
//判断数组包含字符串
isExists
(
array
,
str
)
{
var
flag
=
false
;
...
...
@@ -1758,19 +1768,6 @@ this.moneyAll.otheryTotalsf+=item.PayMoney;
}
});
},
getHangingAccountByTCIDList
:
function
()
{
this
.
apipost
(
'Financial_post_GetHangingAccountByTCIDList'
,
{
TCID
:
this
.
TCID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HangingList
=
res
.
data
.
data
}
},
err
=>
{}
)
},
//权限验证
checkHasAuth
()
{
// this.apipost(
...
...
@@ -1801,8 +1798,6 @@ this.moneyAll.otheryTotalsf+=item.PayMoney;
}
this
.
checkHasAuth
();
this
.
getList
();
this
.
getAllCont
();
this
.
getHangingAccountByTCIDList
();
}
};
...
...
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
2fe734af
...
...
@@ -498,6 +498,7 @@
<th
style=
"width:150px;"
>
更换酒店
</th>
<th
style=
"width:100px;"
>
状态
</th>
<th
style=
"width:150px;"
>
使用数量/价格
</th>
<th
style=
"width:100px;"
>
付款方式
</th>
<th
style=
"width:120px"
>
占房时间
</th>
</tr>
<template
v-for=
"subItem in item.HotelOrderListReports"
>
...
...
@@ -532,9 +533,12 @@
<td>
<a
v-if=
"(childItem.OPState==1|| childItem.OPState==2 || childItem.DMCState==1 )"
>
{{childItem.UseCount>0? childItem.UseCount+" 间" :""}}
{{childItem.CostPrice
!=0?" 价格:"+childItem.CostPrice:""
}}
{{childItem.CostPrice
New>0?" 价格:"+childItem.CostPriceNew:(childItem.CostPrice!=0?" 价格:"+childItem.CostPrice:"")
}}
</a>
</td>
<td>
{{childItem.PayTypeStr}}
</td>
<td>
<
template
v-if=
"childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0)"
>
{{
childItem
.
CreateDateStr
}}
</
template
>
...
...
src/components/commonPage/ChongDiPage.vue
0 → 100644
View file @
2fe734af
<
style
>
@import
url('../../assets/css/domestic/TicketingModule.css')
;
</
style
>
<
template
>
<div
v-if=
"dataList.length
<
1
"
>
</div>
<div
v-else
>
<div
class=
"m_TicketingModule"
v-if=
"type !== 7"
>
<div
class=
"_tit"
>
<span
class=
"_text"
>
挂账冲抵列表
</span>
<div>
<span
class=
"_btn"
v-if=
"tableShow"
@
click=
"tableShow=false"
>
收起
<i
class=
"iconfont icon-gengduo _rotate"
></i>
</span>
<span
class=
"_btn"
v-else
@
click=
"tableShow=true"
>
展开
<i
class=
"iconfont icon-gengduo"
></i>
</span>
</div>
</div>
<div
v-show=
"tableShow"
class=
"_padding_20_15"
>
<table
class=
"singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th>
费用类型
</th>
<th>
团号
</th>
<th>
财务单据
</th>
<th>
收支类型
</th>
<th>
冲抵金额
</th>
<th>
对象名称
</th>
<th>
备注
</th>
<th>
制单时间
</th>
<th>
制单人
</th>
</tr>
<tr
v-for=
"(item, index) in dataList"
:key=
"index"
>
<td>
{{
item
.
CostTypeName
}}
</td>
<td>
{{
item
.
TCNUM
}}
</td>
<td>
{{
item
.
FrID
}}
</td>
<td>
{{
item
.
HangingAccountsTypeStr
}}
</td>
<td>
{{
item
.
fmrMoney
}}
</td>
<td>
{{
item
.
RemitterName
}}
</td>
<td>
{{
item
.
Remark
}}
</td>
<td>
{{
item
.
CreateDateStr
}}
</td>
<td>
{{
item
.
createByStr
}}
</td>
</tr>
</table>
</div>
</div>
<div
v-else
class=
"m_TicketingModule"
>
<div
class=
"_tit"
>
<span
class=
"_text"
>
挂账冲抵列表
</span>
<div>
<span
class=
"_btn"
v-if=
"tableShow"
@
click=
"tableShow=false"
>
收起
<i
class=
"iconfont icon-gengduo _rotate"
></i>
</span>
<span
class=
"_btn"
v-else
@
click=
"tableShow=true"
>
展开
<i
class=
"iconfont icon-gengduo"
></i>
</span>
</div>
</div>
<div
v-show=
"tableShow"
class=
"_padding_20_15"
>
<table
class=
"singeRowTable"
style=
"border:1px solid #E6E6E6;"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th>
财务单据
</th>
<th>
费用类型
</th>
<th>
收支类型
</th>
<th>
金额
</th>
<th>
备注
</th>
<th>
制单时间
</th>
<th>
制单人
</th>
</tr>
<tr
v-for=
"(item, index) in dataList"
:key=
"index"
>
<td>
{{
item
.
FrID
}}
</td>
<td>
<span
v-for=
"(t, index) in item.DetailList"
>
{{
t
.
CostTypeName
}}
<span
v-if=
"index!==item.DetailList.length-1"
>
,
</span>
</span>
</td>
<td>
{{
item
.
Type
===
1
?
'收'
:
'支'
}}
</td>
<td>
{{
item
.
Money
}}
</td>
<td>
{{
item
.
Remark
}}
</td>
<td>
{{
item
.
CreateDateStr
}}
</td>
<td>
{{
item
.
createByStr
}}
</td>
</tr>
</table>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:[
"dataList"
,
'type'
],
data
(){
return
{
tableShow
:
false
,
}
},
watch
:{
},
created
(){
},
mounted
(){
},
methods
:{
}
}
</
script
>
src/components/commonPage/comCheckHotel.vue
View file @
2fe734af
...
...
@@ -53,14 +53,21 @@
<div
class=
"Ck_hotelInfo"
>
<span
style=
"color:red"
>
{{
UseDate
}}
</span>
酒店库存信息
</div>
<div
class=
"cm_hotelTitle"
>
地区筛选:
<el-select
filterable
v-model=
"ProvinceId"
@
change=
"getCheckHotel()"
:placeholder=
"$t('pub.pleaseSel')"
>
<div
class=
"cm_hotelTitle clearfix"
>
<div
style=
"float:left;"
>
地区筛选:
<el-select
filterable
v-model=
"qMsg.ProvinceId"
class=
"w120"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
label=
"不限"
:value=
'0'
></el-option>
<el-option
v-for=
"item in ProvinceList"
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</div>
<div
style=
"float:left;margin-left:15px;"
>
酒店名称:
<el-input
type=
"text"
v-model=
"qMsg.Name"
class=
"w120"
@
keyup
.
native
.
enter=
"getCheckHotel()"
placeholder=
"请输入关键字"
></el-input>
<input
type=
"button"
class=
"normalBtn"
value=
"查询"
@
click=
"getCheckHotel()"
/>
</div>
</div>
<div>
<el-tabs
type=
"border-card"
v-loading=
"loading"
v-if=
"IsShow"
>
<el-tab-pane
:label=
"item.ProvinceName"
v-for=
"(item,index) in dataList"
:key=
"item.subCode"
>
...
...
@@ -85,7 +92,10 @@
loading
:
false
,
dataList
:
[],
ProvinceList
:
[],
qMsg
:{
ProvinceId
:
0
,
//选择个省份编号
Name
:
""
,
//酒店名称
},
IsShow
:
false
,
ckedHotel
:{}
};
...
...
@@ -101,7 +111,8 @@
IsMoreThanZero
:
0
,
Country
:
"651"
,
IsAllHotel
:
1
,
Province
:
this
.
ProvinceId
,
Province
:
this
.
qMsg
.
ProvinceId
,
Name
:
this
.
qMsg
.
Name
,
sDate
:
this
.
UseDate
},
res
=>
{
this
.
loading
=
false
;
...
...
src/components/dmc/manager/dmcTotalTable.vue
View file @
2fe734af
...
...
@@ -274,6 +274,7 @@
<th
style=
"width:150px;"
>
更换酒店
</th>
<th
style=
"width:100px;"
>
状态
</th>
<th
style=
"width:150px;"
>
使用数量/价格
</th>
<th
style=
"width:100px;"
>
付款方式
</th>
<th
style=
"width:120px"
>
占房时间
</th>
</tr>
<template
v-for=
"hotelItem in item.CommonReport.PriceHotelResult"
>
...
...
@@ -308,9 +309,12 @@
<td>
<a
v-if=
"(hotelSubItem.OPState==1|| hotelSubItem.OPState==2 || hotelSubItem.DMCState==1 )"
>
{{hotelSubItem.UseCount>0? hotelSubItem.UseCount+" 间" :""}}
{{hotelSubItem.CostPrice
!=0?" 价格:"+hotelSubItem.CostPrice:""
}}
{{hotelSubItem.CostPrice
New>0?" 价格:"+hotelSubItem.CostPriceNew:(hotelSubItem.CostPrice!=0?" 价格:"+hotelSubItem.CostPrice:"")
}}
</a>
</td>
<td>
{{hotelSubItem.PayTypeStr}}
</td>
<td>
<
template
v-if=
"hotelSubItem.OPState==1||(hotelSubItem.OPState==2 && hotelSubItem.DMCState==0)"
>
{{
hotelSubItem
.
CreateDateStr
}}
</
template
>
...
...
@@ -403,13 +407,34 @@
<el-button
@
click=
'openChart(item)'
icon=
"iconfont icon-wechat"
type=
"primary"
style=
"background:#6DD875; border-color:#6DD875"
></el-button>
</el-tooltip>
<el-tooltip
v-if=
"item.LineId==14 && item.IsOpenHotel==0"
class=
"item"
effect=
"dark"
content=
"关闭酒店操作"
placement=
"top-start"
>
<el-button
@
click=
"SetIsOpenHotelService(1,item.TCID)"
style=
"background:#E95252; border-color:#E95252"
icon=
"iconfont icon-suo"
type=
"primary"
></el-button>
</el-tooltip>
<el-tooltip
v-if=
"item.LineId==14 && item.IsOpenHotel==1"
class=
"item"
effect=
"dark"
content=
"开启酒店操作"
placement=
"top-start"
>
<el-button
icon=
"iconfont icon-suo1"
type=
"primary"
style=
"background:green; border-color:green"
@
click=
"SetIsOpenHotelService(0,item.TCID)"
></el-button>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"酒店操作"
placement=
"top-start"
v-if=
"item.LineId==14"
>
<el-popover
placement=
"bottom"
width=
"300"
trigger=
"click"
v-model=
"item.isShowPop"
>
<table
class=
"dmcSetTable"
>
<tr>
<td
colspan=
"2"
style=
"text-align:center;"
>
<el-checkbox
v-model=
"UpdateHotelMsg.UpdateType"
:true-label=
"UnCheckedVaule"
:false-label=
"CheckedVaule"
>
当团
</el-checkbox>
<el-checkbox
v-model=
"UpdateHotelMsg.UpdateType"
:true-label=
"CheckedVaule"
:false-label=
"UnCheckedVaule"
>
批量修改
</el-checkbox>
</td>
</tr>
<tr
v-if=
"UpdateHotelMsg.UpdateType==1"
>
<td>
<el-date-picker
class=
'w135'
v-model=
"UpdateHotelMsg.StartDate"
style=
"display:inline-block;"
value-format=
"yyyy-MM-dd"
type=
"date"
:picker-options=
"pickerBefore"
></el-date-picker>
</td>
<td>
<el-date-picker
class=
'w135'
v-model=
"UpdateHotelMsg.EndDate"
style=
"display:inline-block;"
value-format=
"yyyy-MM-dd"
type=
"date"
:picker-options=
"pickerAfter"
></el-date-picker>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"text-align:center;"
>
<input
type=
"button"
class=
"normalBtn"
@
click=
"SetIsOpenHotelService(item)"
:value=
"item.IsOpenHotel==0?'关闭酒店操作':'开启酒店操作'"
/>
</td>
</tr>
</table>
<el-button
v-if=
"item.IsOpenHotel==0"
slot=
"reference"
style=
"background:#E95252; border-color:#E95252"
icon=
"iconfont icon-suo"
type=
"primary"
></el-button>
<el-button
v-if=
"item.IsOpenHotel==1"
slot=
"reference"
icon=
"iconfont icon-suo1"
type=
"primary"
style=
"background:green; border-color:green"
></el-button>
</el-popover>
</el-tooltip>
</el-button-group>
</div>
...
...
@@ -476,6 +501,17 @@
AirLineId
:
0
,
CreateBy
:
0
,
},
CheckedVaule
:
1
,
UnCheckedVaule
:
0
,
//酒店更新
UpdateHotelMsg
:{
UpdateType
:
0
,
//0-当团,1-批量修改
StartDate
:
""
,
//开始日期
EndDate
:
""
,
//结束日期
LineId
:
14
,
TCID
:
0
,
Status
:
0
},
thLengthTitle
:
[],
list
:
[],
colspanTotal
:
0
,
...
...
@@ -517,6 +553,22 @@
let
startTime
=
new
Date
(
this
.
msg
.
StartDate
)
return
startTime
.
getTime
()
>=
time
.
getTime
()
}
},
pickerBefore
:{
disabledDate
:
time
=>
{
if
(
this
.
UpdateHotelMsg
.
EndDate
==
null
)
{
return
false
;
}
else
{
let
endTime
=
new
Date
(
this
.
UpdateHotelMsg
.
EndDate
)
return
endTime
.
getTime
()
<
time
.
getTime
()
}
}
},
pickerAfter
:{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
UpdateHotelMsg
.
StartDate
)
return
startTime
.
getTime
()
>=
time
.
getTime
()
}
}
}
},
...
...
@@ -548,17 +600,33 @@
},
err
=>
{})
},
//开启关闭酒店操作
SetIsOpenHotelService
(
status
,
TCID
)
{
this
.
apipost
(
'dmcstatistics_post_SetIsOpenHotelService'
,
{
TCID
:
TCID
,
status
:
status
},
res
=>
{
SetIsOpenHotelService
(
item
)
{
item
.
isShowPop
=
true
;
if
(
item
.
IsOpenHotel
==
0
){
this
.
UpdateHotelMsg
.
Status
=
1
;
}
else
{
this
.
UpdateHotelMsg
.
Status
=
0
;
}
if
(
this
.
UpdateHotelMsg
.
UpdateType
==
1
){
if
(
this
.
UpdateHotelMsg
.
StartDate
==
""
||
this
.
UpdateHotelMsg
.
EndDate
==
""
){
this
.
Error
(
'请选择日期'
)
return
}
}
this
.
UpdateHotelMsg
.
TCID
=
item
.
TCID
this
.
apipost
(
'dmcstatistics_post_SetIsOpenHotelService'
,
this
.
UpdateHotelMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
s
uccess
(
res
.
data
.
message
);
this
.
S
uccess
(
res
.
data
.
message
);
this
.
getList
();
this
.
UpdateHotelMsg
.
UpdateType
=
0
;
this
.
UpdateHotelMsg
.
StartDate
=
""
;
this
.
UpdateHotelMsg
.
EndDate
=
""
;
this
.
UpdateHotelMsg
.
TCID
=
0
;
this
.
UpdateHotelMsg
.
Status
=
0
;
}
else
{
this
.
$message
.
e
rror
(
res
.
data
.
message
);
this
.
E
rror
(
res
.
data
.
message
);
}
item
.
isShowPop
=
false
;
},
err
=>
{})
},
getLineList
()
{
...
...
@@ -711,6 +779,11 @@
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
total
=
res
.
data
.
data
.
count
;
this
.
list
=
res
.
data
.
data
.
pageData
.
data
;
if
(
this
.
list
.
StaticsReportList
){
this
.
list
.
StaticsReportList
.
forEach
(
x
=>
{
x
.
isShowPop
=
false
});
}
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
...
...
@@ -925,5 +998,10 @@
.dmcMain
.el-checkbox
+
.el-checkbox
{
margin-left
:
5px
;
}
.dmcSetTable
{
width
:
100%
;
}
.dmcSetTable
tr
{
height
:
50px
;
}
</
style
>
src/components/newTravelmanager/TravelGroupControl/TravelManager2.vue
View file @
2fe734af
...
...
@@ -40,7 +40,7 @@
<TravelNotice
ref=
"TravelNotice"
id=
"fourAnchor"
@
headCallBack=
"getNotice"
:subArray=
"NoticeParameters"
:NoticeData=
"NoticeData"
v-bind:PostConfig=
"PostConfig"
v-bind:AllCityList=
"AllCityList"
v-bind:CountryID=
"PostConfig.CountryID"
></TravelNotice>
<TravelPrice
@
saveMsg=
"
PostConfig.IsUpdateHotel=1,
SaveData(1)"
ref=
"TravelPrice"
id=
"fiveAnchor"
@
headCallBack=
"getPrice"
:priceList=
"PriceList"
v-if=
"TeamType==0"
<TravelPrice
@
saveMsg=
"SaveData(1)"
ref=
"TravelPrice"
id=
"fiveAnchor"
@
headCallBack=
"getPrice"
:priceList=
"PriceList"
v-if=
"TeamType==0"
:PostConfig=
"PostConfig"
:modifyTcid=
"modifyTcid"
:TeamType=
"TeamType"
></TravelPrice>
<TravelPrice2
ref=
"TravelPrice"
id=
"fiveAnchor"
@
headCallBack=
"getPrice"
:PostDaysTrip=
"PostDaysTrip"
v-if=
"TeamType==1"
:priceList=
"PriceList"
:PostConfig=
"PostConfig"
:modifyTcid=
"modifyTcid"
:TeamType=
"TeamType"
></TravelPrice2>
...
...
src/components/newTravelmanager/TravelGroupControl/TravelPrice.vue
View file @
2fe734af
...
...
@@ -814,8 +814,8 @@
</tr>
<
template
v-for=
"(subItem,subIndex) in priceData.PriceHotelList"
>
<tr
v-for=
"(childItem,childIndex) in subItem.SubList"
>
<td
style=
"background-color:#E6E6E6;color:#333;"
v-if=
"childIndex==0"
:rowspan=
"subItem.SubList.length"
>
{{
subItem
.
UseDay
}}
</td>
<td
style=
"background-color:#E6E6E6;color:#333;"
v-if=
"childIndex==0"
:rowspan=
"subItem.SubList.length"
>
{{
subItem
.
UseDay
}}
</td>
<td
style=
"text-align:left;padding-left:3px;"
>
{{
childItem
.
HotelName
}}
</td>
...
...
@@ -864,13 +864,17 @@
</template>
</table>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"saveHoteluseDetail()"
v-if=
"!(priceData.IsOpenHotel&&priceData.IsOpenHotel==1)"
:class=
"{'disClick':!isSaved}"
>
{{btnText}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"PostConfig.IsUpdateHotel=1,saveHoteluseDetail(1)"
v-if=
"!(priceData.IsOpenHotel&&priceData.IsOpenHotel==1)"
:class=
"{'disClick':!isSaved}"
>
{{btnText}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"PostConfig.IsUpdateHotel=2;saveHoteluseDetail(2)"
v-if=
"!(priceData.IsOpenHotel&&priceData.IsOpenHotel==1)"
:class=
"{'disClick':!isSaved}"
>
{{btnTongBu}}
</button>
<button
class=
"hollowFixedBtn"
:class=
"{'disClick':!isSaved}"
@
click=
"cancelHotelUseDetail()"
>
{{$t('pub.cancelBtn')}}
</button>
<
template
v-if=
"priceData.IsOpenHotel&&priceData.IsOpenHotel==1"
>
<br/>
<span
style=
"color:red;font-weight:bold;"
>
※ 地接已关闭酒店操作,如需修改请联系地接OP.
</span>
<br
/>
<span
style=
"color:red;font-weight:bold;"
>
※ 地接已关闭酒店操作,如需修改请联系地接OP.
</span>
</
template
>
</div>
</el-dialog>
...
...
@@ -921,9 +925,10 @@
uploadList
:
[],
CheckedVaule
:
1
,
//选中值
UnCheckedVaule
:
2
,
//没选中
UnCheckedLessPrice
:
0
,
//不少价
UnCheckedLessPrice
:
0
,
//不少价
isSaved
:
true
,
btnText
:
'保存'
,
btnTongBu
:
'同步酒店'
,
//日期数组
days
:
[],
dateString
:
"2016-01-02"
,
...
...
@@ -1575,14 +1580,22 @@
},
//保存酒店使用情况
saveHoteluseDetail
()
{
saveHoteluseDetail
(
type
)
{
var
that
=
this
;
this
.
Confirm
(
"是否确定提交选中的酒店?"
,
function
()
{
var
str
=
"是否确定提交选中的酒店?"
;
if
(
type
==
2
)
{
str
=
"是否同步行程酒店到地接?"
;
}
this
.
Confirm
(
str
,
function
()
{
if
(
that
.
isSaved
)
{
that
.
isSaved
=
false
;
that
.
$emit
(
"saveMsg"
);
}
that
.
btnText
=
'保存中...'
if
(
type
==
2
)
{
that
.
btnTongBu
=
"同步酒店..."
;
}
else
{
that
.
btnText
=
'保存...'
;
}
});
},
//取消
...
...
@@ -1602,7 +1615,8 @@
//保存完成初始化
initStatus
()
{
this
.
isSaved
=
true
;
this
.
btnText
=
'保存'
this
.
btnText
=
'保存'
;
this
.
btnTongBu
=
"同步酒店"
;
},
//获取酒店信息
getHotelList
(
item
,
event
)
{
...
...
src/router/config.js
View file @
2fe734af
...
...
@@ -3457,6 +3457,14 @@ export default {
title
:
'定房查询'
},
},
{
path
:
'/roomQuery3'
,
//供应商->定房查询
name
:
'roomQuery3'
,
component
:
resolve
=>
require
([
'@/components/Supplier/roomQuery2'
],
resolve
),
meta
:
{
title
:
'定房查询'
},
},
{
path
:
'/HotelQueryList2'
,
//供应商->酒店查询
name
:
'HotelQueryList2'
,
...
...
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