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
87218662
Commit
87218662
authored
May 22, 2023
by
沈良进
Browse files
Options
Browse Files
Download
Plain Diff
save
parents
130c193b
4af9e597
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
4091 additions
and
4126 deletions
+4091
-4126
Details.vue
src/components/Details.vue
+27
-12
TicketDetails.vue
...ponents/FinancialModule/TradeCommission/TicketDetails.vue
+33
-34
addFinancialDocuments.vue
src/components/FinancialModule/addFinancialDocuments.vue
+2373
-2027
invoicesManager.vue
src/components/FinancialModule/invoicesManager.vue
+4
-1
productOrderList.vue
src/components/SalesModule/Common/productOrderList.vue
+703
-782
productOrderList.vue
src/components/SalesModule/productOrderList.vue
+0
-1
SingleContract.vue
src/components/SingleContract.vue
+3
-3
AuditDan.vue
src/components/TravelManager/TravelGroupControl/AuditDan.vue
+18
-154
TeamBalancePayment.vue
...omponents/TravelManager/TravelList/TeamBalancePayment.vue
+325
-306
CostNewPriceAudit.vue
...ts/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
+42
-14
CostNewPriceMun.vue
...ents/TravelManager/TravelNewQuotation/CostNewPriceMun.vue
+11
-0
QuotationAduit.vue
...nents/TravelManager/TravelNewQuotation/QuotationAduit.vue
+18
-51
QuotationNewPrice.vue
...ts/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
+0
-1
newQuotation.vue
...ponents/TravelManager/TravelNewQuotation/newQuotation.vue
+26
-190
allList.vue
src/components/myOrdersAllType/components/allList.vue
+22
-23
entryForm.vue
src/components/rank/entryForm.vue
+485
-525
salesVolumeRank.vue
src/components/rank/salesVolumeRank.vue
+1
-2
No files found.
src/components/Details.vue
View file @
87218662
...
...
@@ -229,6 +229,7 @@
showRightMenu
(
e
)
{
if
(
e
.
button
==
2
)
{
let
id
=
''
if
(
e
.
path
)
{
e
.
path
.
forEach
(
x
=>
{
if
(
x
.
className
&&
x
.
className
.
indexOf
(
'el-tabs__item'
)
!=
-
1
)
{
id
=
x
.
id
.
split
(
'-'
)[
1
]
...
...
@@ -242,6 +243,20 @@
this
.
currentRightIndex
=
i
}
})
}
else
if
(
id
==
''
&&
e
.
target
&&
e
.
target
.
id
)
{
var
tempArray
=
e
.
target
.
id
.
split
(
'-'
);
if
(
tempArray
&&
tempArray
.
length
>
1
)
{
id
=
tempArray
[
1
];
}
this
.
tabs
.
forEach
((
x
,
i
)
=>
{
var
newName
=
x
.
name
+
"_"
+
i
;
if
(
newName
==
id
)
{
this
.
mouseX
=
e
.
clientX
this
.
mouserY
=
e
.
offsetY
this
.
currentRightIndex
=
i
}
})
}
}
},
goback
(
t
)
{
...
...
src/components/FinancialModule/TradeCommission/TicketDetails.vue
View file @
87218662
...
...
@@ -174,7 +174,7 @@
<td>
{{
item
.
IsEurope
==
1
?
'是'
:
''
}}
</td>
<td>
{{
item
.
TCProfit
?
item
.
TCProfit
:
'-'
}}
</td>
<td>
{{
item
.
PeopleNum
?
item
.
PeopleNum
:
'-'
}}
</td>
<td>
{{
item
.
TC
GuestNum
?
item
.
TCGuestNum
:
'-'
}}
</td
>
<td>
{{
item
.
TC
Profit
?
item
.
TCProfit
:
'-'
}}
</td>
<!-- TCGuestNum --
>
<td>
{{
item
.
Way
==
1
?
'销售额'
:
'利润比'
}}
</td>
<td>
{{
item
.
Rate
?
item
.
Rate
+
'%'
:
'-'
}}
</td>
<td>
{{
item
.
OrderProfit
}}
</td>
...
...
@@ -563,4 +563,3 @@
}
</
script
>
\ No newline at end of file
src/components/FinancialModule/addFinancialDocuments.vue
View file @
87218662
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/components/FinancialModule/invoicesManager.vue
View file @
87218662
...
...
@@ -286,7 +286,10 @@ export default {
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'InvoiceApply_get_BatchUpdateInvoiceApply'
,
{
OrderId
:
OrderId
},
res
=>
{
this
.
apipost
(
'InvoiceApply_get_BatchUpdateInvoiceApply'
,
{
OrderId
:
OrderId
,
InvoiceApplyType
:
this
.
msg
.
InvoiceApplyType
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getPageList
()
}
...
...
src/components/SalesModule/Common/productOrderList.vue
View file @
87218662
<
style
>
@import
"../../../assets/css/newTravelManager.css"
;
.people-item
{
@import
"../../../assets/css/newTravelManager.css"
;
.people-item
{
margin-top
:
5px
;
font-size
:
14px
;
}
.people-item-title
{
}
.people-item-title
{
font-size
:
12px
;
color
:
#666
;
margin-right
:
4px
;
}
.productQueryList
{
}
.productQueryList
{
width
:
100%
;
min-width
:
1366px
;
padding-left
:
10px
;
}
}
.productQueryList
li
{
.productQueryList
li
{
width
:
100%
;
border
:
1px
solid
#e5e5e5
;
background
:
#fff
;
margin-bottom
:
10px
;
color
:
#333
;
font-size
:
14px
;
}
}
.productQueryList
li
::after
{
.productQueryList
li
::after
{
content
:
""
;
display
:
block
;
clear
:
both
;
}
}
.productQueryList
li
i
.iconfont
{
.productQueryList
li
i
.iconfont
{
color
:
#bbb
;
margin-right
:
8px
;
}
}
.productQueryList
li
>
div
:first-child
{
.productQueryList
li
>
div
:first-child
{
display
:
table
;
width
:
100%
;
}
}
.productQueryList
li
>
div
>
div
{
.productQueryList
li
>
div
>
div
{
display
:
table-cell
;
border-right
:
1px
dashed
#dcdfe6
;
}
}
.productQueryList
li
>
div
>
div
:last-child
{
.productQueryList
li
>
div
>
div
:last-child
{
border-right
:
none
;
}
}
.productQueryList
li
.d11
{
.productQueryList
li
.d11
{
float
:
left
;
width
:
160px
;
height
:
120px
;
margin
:
14px
14px
0
14px
;
}
}
.productQueryList
li
.d11
>
li
{
.productQueryList
li
.d11
>
li
{
width
:
160px
;
height
:
120px
;
border
:
none
;
}
}
.productQueryList
li
.d11
>
li
>
img
{
.productQueryList
li
.d11
>
li
>
img
{
width
:
160px
;
height
:
120px
;
}
}
.productQueryList
li
.d12
{
.productQueryList
li
.d12
{
float
:
left
;
padding-top
:
18px
;
width
:
200px
;
}
}
.productQueryList
li
.d12
.d12p
{
.productQueryList
li
.d12
.d12p
{
margin-top
:
3px
;
font-size
:
12px
;
color
:
#999
;
...
...
@@ -85,32 +88,32 @@
text-overflow
:
ellipsis
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
}
}
.productQueryList
li
.d12
.d12p
:hover
{
.productQueryList
li
.d12
.d12p
:hover
{
text-decoration
:
underline
;
color
:
#333
;
}
}
.productQueryList
li
.d12
.d12TC
{
.productQueryList
li
.d12
.d12TC
{
margin
:
5px
0
;
color
:
#666666
;
font-size
:
12px
;
}
}
.productQueryList
li
.d1
{
.productQueryList
li
.d1
{
width
:
18%
;
position
:
relative
;
padding
:
0
20px
;
}
}
.productQueryList
li
.d2
{
.productQueryList
li
.d2
{
width
:
14%
;
text-align
:
center
;
padding-top
:
20px
;
}
}
.productQueryList
li
.d2
p
.flightNo
{
.productQueryList
li
.d2
p
.flightNo
{
background
:
#ccc
;
width
:
136px
;
margin
:
5px
0
;
...
...
@@ -119,210 +122,210 @@
line-height
:
22px
;
display
:
inline-block
;
font-size
:
14px
;
}
}
.productQueryList
li
.d2
p
.flightNo
em
{
.productQueryList
li
.d2
p
.flightNo
em
{
font-style
:
normal
;
color
:
#333
;
font-size
:
12px
;
font-weight
:
bold
;
}
}
.productQueryList
li
.d2
p
.flightNo
.flem
{
.productQueryList
li
.d2
p
.flightNo
.flem
{
height
:
22px
;
width
:
50px
;
display
:
inline-block
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
}
.productQueryList
li
.d2
p
>
span
{
.productQueryList
li
.d2
p
>
span
{
color
:
#fff
;
font-size
:
12px
;
border-radius
:
10px
;
background
:
#2aaef2
;
padding
:
2px
5px
;
cursor
:
pointer
;
}
}
.productQueryList
li
.d2
>
div
>
div
{
.productQueryList
li
.d2
>
div
>
div
{
display
:
inline-block
;
line-height
:
24px
;
font-size
:
12px
;
}
}
.productQueryList
li
.d3
{
.productQueryList
li
.d3
{
width
:
17%
;
padding-left
:
40px
;
padding-top
:
20px
;
}
}
.productQueryList
li
.d3
p
{
.productQueryList
li
.d3
p
{
line-height
:
24px
;
}
}
.productQueryList
li
.d3
p
>
span
{
.productQueryList
li
.d3
p
>
span
{
color
:
#666
;
font-size
:
12px
;
margin-right
:
10px
;
}
}
.productQueryList
li
.d3
p
>
em
{
.productQueryList
li
.d3
p
>
em
{
background
:
#ff9c00
;
font-style
:
normal
;
margin-left
:
8px
;
color
:
#fff
;
border-radius
:
4px
;
padding
:
2px
5px
;
}
}
.productQueryList
li
.d4
{
.productQueryList
li
.d4
{
width
:
10%
;
padding-left
:
20px
;
padding-top
:
20px
;
}
}
.productQueryList
li
.d4
p
span
.price
{
.productQueryList
li
.d4
p
span
.price
{
color
:
#333
;
text-decoration
:
underline
;
font-size
:
12px
;
}
}
.productQueryList
li
.d4
p
span
.price
:hover
{
.productQueryList
li
.d4
p
span
.price
:hover
{
color
:
#e95252
;
font-weight
:
bold
;
cursor
:
pointer
;
}
}
.productQueryList
li
.d5
{
.productQueryList
li
.d5
{
width
:
15%
;
padding-left
:
40px
;
padding-top
:
20px
;
}
}
.productQueryList
li
.d5
p
{
.productQueryList
li
.d5
p
{
line-height
:
26px
;
}
}
.productQueryList
li
.d5
p
>
span
{
.productQueryList
li
.d5
p
>
span
{
color
:
#666
;
font-size
:
12px
;
margin-right
:
10px
;
}
}
.productQueryList
li
.d5
p
>
i
{
.productQueryList
li
.d5
p
>
i
{
font-weight
:
bold
;
font-style
:
normal
;
}
}
.productQueryList
li
.d8
{
.productQueryList
li
.d8
{
width
:
15%
;
padding-left
:
40px
;
padding-top
:
20px
;
}
}
.productQueryList
li
.d8
p
{
.productQueryList
li
.d8
p
{
line-height
:
26px
;
}
}
.productQueryList
li
.d8
p
>
span
{
.productQueryList
li
.d8
p
>
span
{
color
:
#666
;
font-size
:
12px
;
margin-right
:
10px
;
}
}
.productQueryList
li
.d8
p
>
i
{
.productQueryList
li
.d8
p
>
i
{
font-style
:
normal
;
}
}
.productQueryList
li
.d6
{
.productQueryList
li
.d6
{
padding
:
20px
40px
;
width
:
100%
;
height
:
inherit
;
border-top
:
1px
solid
#e5e5e5
;
}
}
.productQueryList
li
.d6
p
{
.productQueryList
li
.d6
p
{
display
:
table-cell
;
color
:
#e95252
;
}
}
.productQueryList
li
.d6
p
:nth-child
(
1
)
{
.productQueryList
li
.d6
p
:nth-child
(
1
)
{
width
:
60px
;
font-size
:
12px
;
}
}
.productQueryList
li
.d7
{
.productQueryList
li
.d7
{
width
:
10%
;
min-width
:
160px
;
text-align
:
center
;
padding
:
40px
20px
;
border-right
:
none
;
}
}
.productQueryList
li
.d7
button
{
.productQueryList
li
.d7
button
{
width
:
30px
;
height
:
30px
;
border-radius
:
4px
;
}
}
.productQueryList
li
.d7
.el-button--primary
{
.productQueryList
li
.d7
.el-button--primary
{
padding
:
5px
;
margin
:
0
;
font-size
:
14px
!important
;
color
:
#fff
;
}
}
.productQueryList
li
.d7
i
.iconfont
{
.productQueryList
li
.d7
i
.iconfont
{
color
:
#fff
;
margin
:
0
;
}
}
.pro_tripDetails
{
.pro_tripDetails
{
padding
:
0
;
box-shadow
:
0px
1px
3px
0px
#dedede
;
max-height
:
400px
;
overflow-y
:
auto
;
}
}
.pro_tripDetails
.popper__arrow
::after
{
.pro_tripDetails
.popper__arrow
::after
{
border-bottom-color
:
#ededed
!important
;
}
}
.pro_tripDetails
table
{
.pro_tripDetails
table
{
padding
:
10px
0
0
20px
;
background-color
:
#ededed
;
border-collapse
:
collapse
;
border
:
1px
solid
#d2d2d2
;
font-size
:
12px
;
}
}
.pro_tripDetails
table
th
{
.pro_tripDetails
table
th
{
background-color
:
#ededed
;
padding
:
5px
;
}
}
.pro_tripDetails
table
td
{
.pro_tripDetails
table
td
{
background-color
:
#ffffff
;
padding
:
9px
15px
;
color
:
#333333
;
border
:
1px
solid
#d2d2d2
;
}
}
.pro_tripDetails
table
td
._d_name
{
.pro_tripDetails
table
td
._d_name
{
background-color
:
#ededed
;
}
}
.pro_tripDetails
table
._color_666
{
.pro_tripDetails
table
._color_666
{
color
:
#666666
;
}
}
.pro_tripDetails
table
tr
._color_666
th
{
.pro_tripDetails
table
tr
._color_666
th
{
padding
:
9px
15px
;
}
}
.productQuerybottomLayer
{
.productQuerybottomLayer
{
overflow
:
auto
;
position
:
fixed
;
/* max-height: 300px; */
...
...
@@ -333,13 +336,13 @@
background-color
:
#ffffff
;
padding
:
10px
10px
0
;
width
:
100%
;
}
}
.productQuerybottomLayer
.el-form-item__label
{
.productQuerybottomLayer
.el-form-item__label
{
font-size
:
12px
!important
;
}
}
.productQuerybottomLayer
>
p
{
.productQuerybottomLayer
>
p
{
border-left
:
3px
solid
#e95252
;
text-indent
:
15px
;
height
:
16px
;
...
...
@@ -348,18 +351,18 @@
margin-bottom
:
20px
;
line-height
:
14px
;
color
:
#000
;
}
}
.productQuerybottomLayer
.el-input
{
.productQuerybottomLayer
.el-input
{
width
:
auto
!important
;
}
}
.productQueryList
.disabledBtn
{
.productQueryList
.disabledBtn
{
background
:
#999
!important
;
border-color
:
#999
!important
;
}
}
.product_union
{
.product_union
{
position
:
absolute
;
top
:
0px
;
left
:
0px
;
...
...
@@ -369,9 +372,9 @@
border-bottom
:
15px
solid
transparent
;
border-left
:
15px
solid
red
;
border-right
:
15px
solid
transparent
;
}
}
.product_union
::after
{
.product_union
::after
{
content
:
"联"
;
position
:
absolute
;
top
:
-14px
;
...
...
@@ -379,9 +382,9 @@
white-space
:
nowrap
;
color
:
#ffffff
;
font-size
:
12px
;
}
}
.product_union1
{
.product_union1
{
position
:
absolute
;
top
:
0px
;
left
:
0px
;
...
...
@@ -391,9 +394,9 @@
border-bottom
:
15px
solid
transparent
;
border-left
:
15px
solid
red
;
border-right
:
15px
solid
transparent
;
}
}
.product_union1
::after
{
.product_union1
::after
{
content
:
"内"
;
position
:
absolute
;
top
:
-14px
;
...
...
@@ -401,9 +404,9 @@
white-space
:
nowrap
;
color
:
#ffffff
;
font-size
:
12px
;
}
}
.product_warning
{
.product_warning
{
position
:
absolute
;
top
:
0px
;
right
:
0px
;
...
...
@@ -413,9 +416,9 @@
border-bottom
:
10px
solid
transparent
;
border-left
:
10px
solid
transparent
;
border-right
:
10px
solid
red
;
}
}
.product_warning
::after
{
.product_warning
::after
{
content
:
"!"
;
position
:
absolute
;
top
:
-12px
;
...
...
@@ -423,102 +426,83 @@
white-space
:
nowrap
;
color
:
#ffffff
;
font-size
:
12px
;
}
}
.PQ_detail
{
.PQ_detail
{
width
:
100%
;
border-collapse
:
collapse
;
}
}
.PQ_detail
tr
th
,
.v-table-title-cell
{
.PQ_detail
tr
th
,
.v-table-title-cell
{
background
:
#e6e6e6
;
height
:
40px
;
font-size
:
14px
;
border-right
:
1px
solid
#e6e6e6
;
color
:
#333
;
}
}
.PQ_detail
tr
{
.PQ_detail
tr
{
background
:
#fff
;
text-align
:
center
;
height
:
40px
;
}
}
.PQ_detail
tr
td
{
.PQ_detail
tr
td
{
font-size
:
12px
;
border
:
1px
solid
#e5e5e5
;
}
}
.PQ_HotelPop
{
.PQ_HotelPop
{
overflow
:
auto
;
max-height
:
350px
;
}
}
.PQ_HotelPop
table
td
{
.PQ_HotelPop
table
td
{
padding
:
5px
0
;
text-align
:
center
;
}
}
.PQ_HotelPop
table
th
{
.PQ_HotelPop
table
th
{
text-align
:
center
;
}
}
.productQuerybottomLayer
.el-upload-list
{
.productQuerybottomLayer
.el-upload-list
{
width
:
200px
;
}
.flex-center
{
}
.flex-center
{
display
:
flex
;
justify-content
:
center
;
}
}
</
style
>
<
template
>
<
template
>
<div
class=
"productQueryList"
v-loading=
"loading"
>
<div
style=
"margin-bottom: 10px"
>
<el-checkbox
v-model=
"allCheck"
@
change=
"changeSelect"
>
全选
</el-checkbox>
<el-button
style=
"margin-left: 10px"
type=
"primary"
size=
"small"
@
click=
"eidtItems"
>
批量操作
</el-button
>
<el-button
style=
"margin-left: 10px"
type=
"primary"
size=
"small"
@
click=
"eidtItems"
>
批量操作
</el-button>
</div>
<ul
v-if=
"list.length != 0"
>
<li
v-for=
"(item, index) in list"
:key=
"index"
>
<div
class=
"dline"
>
<div>
<div
class=
"flex-center"
>
<el-checkbox
v-model=
"item.check"
@
change=
"changeSelectItem()"
></el-checkbox>
<el-checkbox
v-model=
"item.check"
@
change=
"changeSelectItem()"
></el-checkbox>
</div>
</div>
<div
class=
"d1"
>
<div
v-if=
"item.IsB2B === 0"
class=
"product_union1"
></div>
<div
v-if=
"item.IsUnionTravel === 1"
class=
"product_union"
></div>
<div
v-if=
"item.IsWarning === 1"
class=
"product_warning"
></div>
<div
class=
"d12"
style=
"float: none; margin: auto"
:style=
"
{ width: pagesTitle == '跟团游产品' ? '200px' : 'auto' }"
>
<div
class=
"d12"
style=
"float: none; margin: auto"
:style=
"
{ width: pagesTitle == '跟团游产品' ? '200px' : 'auto' }">
<p><i
class=
"iconfont icon-biaoti1"
></i>
{{
item
.
LineName
}}
</p>
<p
class=
"d12TC"
>
{{
item
.
TCNUM
}}
(
{{
item
.
TCID
}}
)
</p>
<p>
{{
item
.
LtName
}}
</p>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.Title"
placement=
"top-start"
popper-class=
"max-w250"
>
<p
class=
"d12p"
@
click=
"getTitledetail(item)"
:title=
"item.Title"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"item.Title"
placement=
"top-start"
popper-class=
"max-w250"
>
<p
class=
"d12p"
@
click=
"getTitledetail(item)"
:title=
"item.Title"
>
{{
item
.
Title
}}
</p>
</el-tooltip>
...
...
@@ -527,8 +511,7 @@
<div
class=
"d3"
v-if=
"pagesTitle == '跟团游产品'"
>
<div>
<span
class=
"people-item-title"
>
出团公司:
</span>
{{
item
.
OutBranchName
}}
</div>
<p
class=
"people-item"
>
<span>
{{
$t
(
"Airticket.Air_StartTime"
)
}}
:
</span
>
{{
item
.
StartDate
}}
<span>
{{
$t
(
"Airticket.Air_StartTime"
)
}}
:
</span>
{{
item
.
StartDate
}}
</p>
<div
class=
"people-item"
>
<span
class=
"people-item-title"
>
创建人:
</span>
...
...
@@ -537,11 +520,8 @@
</div>
<div
class=
"d5"
>
<p>
<span>
{{
$t
(
"visa.v_yibaoru"
)
}}
</span
><i
>
{{
item
.
Seat
==
""
?
"0"
:
item
.
Seat
}}{{
$t
(
"salesModule.PeoPle"
)
}}
</i
>
(
{{
$t
(
"Operation.Op_takeSeat"
)
}}
:
{{
item
.
Occupied
<span>
{{
$t
(
"visa.v_yibaoru"
)
}}
</span><i>
{{
item
.
Seat
==
""
?
"0"
:
item
.
Seat
}}{{
$t
(
"salesModule.PeoPle"
)
}}
</i>
(
{{
$t
(
"Operation.Op_takeSeat"
)
}}
:
{{
item
.
Occupied
}}{{
$t
(
"salesModule.PeoPle"
)
}}
)
</p>
<span
style=
"font-size: 12px"
><span
class=
"people-item-title"
>
联运人数:
</span>
{{
item
.
IntermodalCount
}}
</span>
...
...
@@ -570,9 +550,7 @@
</div>
<div>
<div
class=
"flex-center"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"editItem(item)"
>
编辑
</el-button
>
<el-button
type=
"primary"
size=
"small"
@
click=
"editItem(item)"
>
编辑
</el-button>
</div>
</div>
</div>
...
...
@@ -581,101 +559,49 @@
<div
class=
"noData"
v-else
>
{{
$t
(
"system.content_noData"
)
}}
</div>
<el-dialog
title=
"编辑"
:visible
.
sync=
"showDialog"
width=
"600px"
height=
"40%"
>
<el-dialog
title=
"编辑"
:visible
.
sync=
"showDialog"
width=
"600px"
height=
"40%"
>
<div
v-if=
"!isVisa"
>
<span
style=
"width: 15%; display: inline-block"
>
团OP
</span>
<el-select
style=
"width: 80%"
v-model=
"queryData.OPId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
>
<el-select
style=
"width: 80%"
v-model=
"queryData.OPId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
>
</el-option>
</el-select>
</div>
<div
v-if=
"!isVisa"
style=
"margin-top: 10px"
>
<span
style=
"width: 15%; display: inline-block"
>
助手
</span>
<el-select
style=
"width: 80%"
v-model=
"queryData.AssistantId"
multiple
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
>
<el-select
style=
"width: 80%"
v-model=
"queryData.AssistantId"
multiple
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
>
</el-option>
</el-select>
</div>
<div
style=
"margin-top: 10px"
>
<span
style=
"width: 15%; display: inline-block"
>
签证OP
</span>
<el-select
filterable
style=
"width: 80%"
v-model=
"queryData.VisaOPId"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
>
<el-select
filterable
style=
"width: 80%"
v-model=
"queryData.VisaOPId"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
>
</el-option>
</el-select>
</div>
<div
style=
"margin-top: 10px"
>
<span
style=
"width: 15%; display: inline-block"
>
签证助手
</span>
<el-select
style=
"width: 80%"
v-model=
"queryData.VisaAssistantId"
multiple
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
>
<el-select
style=
"width: 80%"
v-model=
"queryData.VisaAssistantId"
multiple
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
>
</el-option>
</el-select>
</div>
<div
style=
"margin-top: 10px"
v-if=
"editNum"
>
<span
style=
"width: 15%; display: inline-block"
>
签证人数
</span
><el-input
type=
"number"
style=
"width: 80%; margin-left: 4px"
v-model=
"queryData.VisaNum"
/>
<span
style=
"width: 15%; display: inline-block"
>
签证人数
</span>
<el-input
type=
"number"
style=
"width: 80%; margin-left: 4px"
v-model=
"queryData.VisaNum"
/>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"showDialog = false"
>
取 消
</el-button>
<el-button
style=
"margin-right: 24px"
type=
"primary"
@
click=
"submitOP"
>
确 定
</el-button
>
<el-button
style=
"margin-right: 24px"
type=
"primary"
@
click=
"submitOP"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
<
script
>
export
default
{
props
:
[
"loading"
,
"list"
,
"pagesTitle"
,
"isVisa"
],
data
()
{
...
...
@@ -807,18 +733,17 @@ export default {
editItem
(
item
)
{
this
.
TCIDs
=
item
.
TCID
;
this
.
editObj
=
item
;
console
.
log
(
"editItem"
,
item
);
this
.
queryData
=
{
OPId
:
item
.
OPId
||
""
,
AssistantId
:
!
item
.
AssistantId
||
item
.
AssistantId
==
"0"
?
[]
:
item
.
AssistantId
.
split
(
","
).
map
((
item
)
=>
Number
(
item
)),
!
item
.
AssistantId
||
item
.
AssistantId
==
"0"
?
[]
:
item
.
AssistantId
.
split
(
","
).
map
((
item
)
=>
Number
(
item
)),
VisaOPId
:
item
.
VisaOPId
||
""
,
VisaAssistantId
:
!
item
.
VisaAssistantId
||
item
.
VisaAssistantId
==
"0"
?
[]
:
item
.
VisaAssistantId
.
split
(
","
).
map
((
item
)
=>
Number
(
item
)),
!
item
.
VisaAssistantId
||
item
.
VisaAssistantId
==
"0"
?
[]
:
item
.
VisaAssistantId
.
split
(
","
).
map
((
item
)
=>
Number
(
item
)),
VisaNum
:
item
.
VisaNum
==
-
1
?
item
.
NeedVisaNum
:
item
.
VisaNum
,
};
this
.
editNum
=
true
;
...
...
@@ -826,7 +751,6 @@ export default {
},
eidtItems
()
{
this
.
TCIDs
=
this
.
getSelcetedIds
();
console
.
log
(
"eidtItems eidtItems"
,
this
.
TCIDs
);
if
(
!
this
.
TCIDs
)
{
this
.
$message
.
error
(
"请选择要编辑的内容"
);
return
;
...
...
@@ -844,8 +768,7 @@ export default {
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList
()
{
this
.
apipost
(
"admin_get_EmployeeGetList"
,
{},
"admin_get_EmployeeGetList"
,
{},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
...
...
@@ -884,8 +807,7 @@ export default {
if
(
this
.
list
[
key
].
wxImage
===
""
)
{
this
.
wxLoading
=
true
;
this
.
apipost
(
"TaskManagemnet_get_GetWeiXinShare"
,
{
"TaskManagemnet_get_GetWeiXinShare"
,
{
ConfigId
:
this
.
list
[
key
].
ConfigID
,
TCID
:
this
.
list
[
key
].
TCID
,
},
...
...
@@ -984,8 +906,7 @@ export default {
"b2b_post_SetHotelClickService"
,
msg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
}
if
(
res
.
data
.
resultCode
==
1
)
{}
},
(
err
)
=>
{}
);
...
...
@@ -1007,6 +928,6 @@ export default {
this
.
TCIDList
=
this
.
$route
.
query
.
TCIDList
;
}
},
};
</
script
>
};
</
script
>
src/components/SalesModule/productOrderList.vue
View file @
87218662
...
...
@@ -524,7 +524,6 @@
},
},
mounted
()
{
console
.
log
(
'this.router'
,
this
.
$route
,
this
.
$router
)
if
(
this
.
$route
.
path
===
'/productOrderList'
)
{
this
.
isVisa
=
false
}
else
{
...
...
src/components/SingleContract.vue
View file @
87218662
...
...
@@ -414,7 +414,7 @@
<tr>
<td>
<el-form-item
label=
"名称"
>
<el-input
type=
"text"
v-model=
"CtObj.TravelAgency_Name"
:disabled=
"true"
class=
"w300"
<el-input
type=
"text"
v-model=
"CtObj.TravelAgency_Name"
class=
"w300"
maxlength=
"70"
></el-input>
</el-form-item>
</td>
...
...
@@ -1258,11 +1258,11 @@
Tourists_Fax
:
""
,
Tourists_EmergencyLinkMan
:
""
,
Tourists_EmergencyLinkTel
:
""
,
TravelAgency_Name
:
"
四川和平国际旅行社有限公司
"
,
//旅行社名称
TravelAgency_Name
:
"
(株)ピースインターナショナル
"
,
//旅行社名称
TravelAgency_LicenseNum
:
"L-SC-CJ00015"
,
TravelAgency_DealMan
:
""
,
TravelAgency_IDNum
:
""
,
TravelAgency_Address
:
"
成都市锦江区一环路东五段87号2幢23层2310.2311.2312号
"
,
TravelAgency_Address
:
"
東京都北区滝野川5-41-3 TKビル9階
"
,
TravelAgency_Tel
:
""
,
TravelAgency_Fax
:
""
,
TravelAgency_PostNum
:
""
,
...
...
src/components/TravelManager/TravelGroupControl/AuditDan.vue
View file @
87218662
...
...
@@ -79,23 +79,25 @@
</el-tabs>
<div
class=
"commonContent"
v-loading=
"loading"
>
<ul
class=
"_content"
>
<li
v-for=
"item in dataList"
:key=
"item.
subCode"
:data-id=
'item.ID'
style=
"padding:0 15px;"
>
<div
class=
"Audit_left"
style=
"width:
8
0px"
>
<li
v-for=
"item in dataList"
:key=
"item.
ID"
style=
"padding:0 15px;"
>
<div
class=
"Audit_left"
style=
"width:
14
0px"
>
<div>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.ID"
placement=
"top-start"
>
<span>
编号:
{{
item
.
ID
}}
</span>
</el-tooltip>
</div>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.TeamTypeName"
placement=
"top-start"
>
<div
style=
"margin-top: 10px"
>
类型:
{{
item
.
TeamTypeName
}}
</div>
</el-tooltip>
<div
style=
"margin-top:1px"
>
类型:
<template
v-if=
"item.TeamType==1"
>
<i
style=
"color:red;font-weight:bold;"
>
{{
item
.
TeamTypeName
}}
</i>
</
template
>
<
template
v-else
>
{{
item
.
TeamTypeName
}}
</
template
>
</div>
<div
style=
"margin-top:3px"
>
出发日期:{{item.OutDateTime}}
</div>
</div>
<div
class=
"Audit_left"
style=
"width:20%;"
>
<div>
<p
class=
"quoListName"
style=
"padding-right:20px;width:100%;"
>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.LineName"
placement=
"top-start"
>
<span>
{{item.LineName}}
</span>
</el-tooltip>
</p>
<p
class=
"Quo_Content"
style=
"padding-right:20px;width:100%;"
><i
v-if=
"item.LtName"
class=
"iconfont icon-richeng"
></i>
...
...
@@ -251,32 +253,11 @@
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"queryData.pageSize"
:total=
"total"
>
</el-pagination>
<el-dialog
custom-class=
'ComTeamPlan_info_box'
:title=
"tripTitle"
:visible
.
sync=
"outerVisible"
center
>
<commonTeamInfo
ref=
"comDialog"
></commonTeamInfo>
</el-dialog>
<div
class=
"shenheBtm"
v-if=
"isShowDan"
>
<el-form
label-width=
"100px"
:model=
"AuditInfo"
:rules=
"rules"
ref=
"AuditInfo"
>
<el-col
:span=
"3"
>
<div
style=
"margin:58px 0 0 50px;"
>
<el-radio
v-model=
"AuditInfo.TravelState"
label=
"3"
>
通过
</el-radio>
<el-radio
v-model=
"AuditInfo.TravelState"
label=
"4"
>
驳回
</el-radio>
</div>
</el-col>
<el-col
:span=
"10"
style=
"margin-top:30px;"
>
<el-form-item
label=
"审批说明"
>
<el-input
type=
"textarea"
class=
"w600"
v-model=
"AuditInfo.AuditContent"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"3"
style=
"margin-top:60px;"
>
<button
class=
"hollowFixedBtn"
@
click=
"isShowDan=false"
>
取消
</button>
<button
class=
"normalBtn"
@
click=
"submitForm('AuditInfo')"
>
保存
</button>
</el-col>
</el-form>
</div>
</div>
</template>
<
script
>
import
commonTeamInfo
from
"../../commonPage/commonTeamInfo.vue"
;
export
default
{
data
()
{
return
{
...
...
@@ -287,18 +268,6 @@
PageSize
:
"5"
,
TravelState
:
2
},
AuditInfo
:
{
ID
:
""
,
TravelState
:
""
,
AuditContent
:
""
},
rules
:
{
AuditContent
:
[{
required
:
true
,
message
:
"请填写审核说明"
,
trigger
:
"blur"
}]
},
loading
:
true
,
//默认选中
activeName
:
"2"
,
...
...
@@ -306,8 +275,7 @@
EmployeeList
:
[],
//日志
AuditLogList
:
""
,
//显示隐藏审核
isShowDan
:
false
,
//线路列表
LineList
:
""
,
noLimit
:
0
,
...
...
@@ -318,14 +286,10 @@
dataList
:
""
,
total
:
0
,
currentPage
:
1
,
SalesPriceList
:
[],
CostList
:
[],
outerVisible
:
false
,
tripTitle
:
""
};
},
components
:
{
commonTeamInfo
:
commonTeamInfo
},
methods
:
{
handleCurrentChange
(
val
)
{
...
...
@@ -415,57 +379,6 @@
}
);
},
//点击销售定价获取数据
getSalsPrice
(
ID
)
{
let
msg
=
{
ID
:
ID
};
this
.
SalesPriceList
=
[];
this
.
apipost
(
"travel_get_GetTravelQuotationPrice"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
SalesPriceList
.
push
(
res
.
data
.
data
[
0
]);
}
});
},
//点击地接成本获取数据
getCostPrice
(
ID
)
{
let
msg
=
{
ID
:
ID
};
this
.
CostList
=
[];
this
.
apipost
(
"travel_get_GetTravelOfferPrice"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
data
[
0
]
!=
undefined
||
res
.
data
.
data
[
0
]
!=
null
)
{
let
cost
=
res
.
data
.
data
[
0
];
let
dayNum
=
0
;
cost
.
LocalOfferPriceList
.
forEach
(
x
=>
{
if
(
x
.
DayNum
>
dayNum
)
{
dayNum
=
x
.
DayNum
;
}
});
let
offerPriceList
=
[];
for
(
let
i
=
1
;
i
<=
dayNum
;
i
++
)
{
let
dayOfferPriceList
=
[];
let
totalPrice
=
0
;
cost
.
LocalOfferPriceList
.
forEach
(
x
=>
{
if
(
x
.
DayNum
==
i
)
{
dayOfferPriceList
.
push
(
x
);
totalPrice
+=
x
.
OfferPrice
;
}
});
let
offerPrice
=
{
day
:
i
,
dayOfferPriceList
,
totalPrice
};
offerPriceList
.
push
(
offerPrice
);
}
cost
[
"offerPriceList"
]
=
offerPriceList
;
this
.
CostList
.
push
(
cost
);
}
}
});
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList
()
{
this
.
apipost
(
...
...
@@ -474,26 +387,15 @@
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{}
}
);
},
getJourney
(
id
,
title
)
{
//根据ID 获取行程内容
var
that
=
this
;
this
.
tripTitle
=
title
;
this
.
$nextTick
(()
=>
{
that
.
$refs
.
comDialog
.
GetTrip
(
id
);
});
that
.
outerVisible
=
true
;
},
goUrl
(
path
,
configId
,
qType
)
{
if
(
configId
>
0
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
configId
:
configId
,
Qtype
:
qType
,
blank
:
'y'
,
tab
:
'报价单审核'
...
...
@@ -505,44 +407,6 @@
});
}
},
submitForm
()
{
//提交创建、修改表单
this
.
$refs
[
"AuditInfo"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
saveAudit
();
}
else
{
return
false
;
}
});
},
auditDanList
(
ID
)
{
this
.
isShowDan
=
true
;
this
.
AuditInfo
.
ID
=
ID
;
},
//提交审核
saveAudit
()
{
this
.
apipost
(
"travel_get_AuditTravelConfig"
,
this
.
AuditInfo
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
"审核成功"
);
this
.
isShowDan
=
false
;
this
.
getList
();
}
},
err
=>
{}
);
},
//格式化日期去掉年
formatStartDate
(
value
)
{
if
(
value
==
null
||
value
==
undefined
)
{
return
""
;
}
else
{
let
dataArr
=
value
.
split
(
"-"
);
return
dataArr
[
1
]
+
"-"
+
dataArr
[
2
];
}
}
},
mounted
()
{
this
.
getLineList
();
...
...
src/components/TravelManager/TravelList/TeamBalancePayment.vue
View file @
87218662
<
style
>
@import
"../../../assets/css/newTravelManager.css"
;
.TB_comtitle
{
color
:
#333333
;
padding-left
:
10px
;
...
...
@@ -22,9 +23,11 @@
padding
:
20px
;
height
:
200px
;
}
.tipTable
tr
td
{
height
:
30px
!important
;
.tipTable
tr
td
{
height
:
30px
!important
;
}
.TeamBalancePayment
.singeRowTable
tr
th
{
height
:
30px
;
}
...
...
@@ -144,10 +147,11 @@
.span_all
{
margin-left
:
15px
;
}
.TeamExpectList
{
max-height
:
105px
;
overflow
:
auto
;
margin-bottom
:
0
!important
;
.TeamExpectList
{
max-height
:
105px
;
overflow
:
auto
;
margin-bottom
:
0
!important
;
}
</
style
>
...
...
@@ -167,7 +171,8 @@
<div
class=
"Team_DList"
>
<div
class=
"Team_firstTitle"
>
收客情况
</div>
<div>
团队编号:
{{
TCID
}}
<span
class=
"TC_neibu"
style=
"float: inherit;margin-left: 5px;margin-right: 5px;"
v-if=
"DataList.TeamBalance.StandardCurrencyName"
<span
class=
"TC_neibu"
style=
"float: inherit;margin-left: 5px;margin-right: 5px;"
v-if=
"DataList.TeamBalance.StandardCurrencyName"
:class=
"
{'TCneibu':DataList.TeamBalance.StandardCurrencyName=='人民币','TCb2b':DataList.TeamBalance.StandardCurrencyName=='日元',
'TCb2c':DataList.TeamBalance.StandardCurrencyName=='新台币','AppPlat':DataList.TeamBalance.StandardCurrencyName=='',
'otherPlat':DataList.TeamBalance.StandardCurrencyName=='',}">
{{
DataList
.
TeamBalance
.
StandardCurrencyName
}}
结算
</span>
...
...
@@ -205,7 +210,8 @@
<div
class=
"Team_Incontent"
>
<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
class=
"Team_Coins"
>
¥
{{
moneyFormat
(
moneyAll
.
otheryTotalyf
-
moneyAll
.
otheryTotalsf
)
}}
</span></div>
<div>
注:此处不进入'利润'计算,单纯只统计除团费外的其他总收入
</div>
...
...
@@ -256,8 +262,10 @@
<div
class=
"Team_Incontent"
style=
"margin-bottom:0;"
>
<div
class=
"TeamExpectList"
>
<template
v-for=
"(subItem,index) in DataList.ExpectedCutList"
>
<div
style=
"margin-bottom:5px;"
>
{{
subItem
.
BranchName
}}
<template>
¥
</
template
>
{{subItem.expectedCut}}
<span
style=
"margin-left: 5px;font-size: 10px;"
v-if=
"subItem.CurrencyName"
>
{{subItem.CurrencyName}}
</span>
<div
style=
"margin-bottom:5px;"
>
{{
subItem
.
BranchName
}}
<template>
¥
</
template
>
{{subItem.expectedCut}}
<span
style=
"margin-left: 5px;font-size: 10px;"
v-if=
"subItem.CurrencyName"
>
{{subItem.CurrencyName}}
</span>
<span
style=
"font-size: 10px;color: #ff9c00;margin-left: 5px;"
v-if=
"subItem.StandardMoney"
>
结算{{subItem.StandardMoney}}{{DataList.TeamBalance.StandardCurrencyName}}
</span>
...
...
@@ -314,15 +322,13 @@
</div>
</div>
</el-col>
</el-row>
</div>
</div>
<div
class=
"Team_collection"
v-loading=
"loading"
>
<div
class=
"clearfix TB_PrintDiv"
v-if=
"auditCoun>0"
>
<div
style=
"font-size: 15px;margin-top: 10px;"
>
当前有
<span
style=
"color: red;margin: 0 2px;"
>
{{auditCoun}}
</span>
条数据不计入利润
</div>
<div
style=
"font-size: 15px;margin-top: 10px;"
>
当前有
<span
style=
"color: red;margin: 0 2px;"
>
{{auditCoun}}
</span>
条数据不计入利润
</div>
<div
class=
"TB_comtitle TB-Title"
>
驳回:
</div>
</div>
...
...
@@ -370,10 +376,13 @@
</
template
>
</table>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
收入
</div>
<div
class=
"TB_comtitle TB-Title"
>
收入
<
template
v-if=
"DataList&&DataList.TeamBalance&&DataList.TeamBalance.TCNUM"
>
{{
DataList
.
TeamBalance
.
TCNUM
}}
(
{{
TCID
}}
)
</
template
>
</div>
<div
v-if=
"IsHaveAuth"
style=
"padding: 5px 0 0 0;"
>
<input
type=
"button"
value=
"团队小费"
class=
"hollowFixedBtn TeamAddBtn"
v-show=
"ishowBtn"
@
click=
"AddTipDiv"
/>
<input
type=
"button"
value=
"团队小费"
class=
"hollowFixedBtn TeamAddBtn"
v-show=
"ishowBtn"
@
click=
"AddTipDiv"
/>
<input
type=
"button"
value=
"新增"
class=
"hollowFixedBtn TeamAddBtn"
v-show=
"ishowBtn"
@
click=
"AddIncomeDetail"
/>
</div>
...
...
@@ -802,7 +811,8 @@
<span
class=
"span_all"
>
应付:¥{{moneyFormat(moneyAll.ticketyf)}}
</span>
<span
class=
"span_all"
>
实付:¥{{moneyFormat(moneyAll.ticketsf)}}
</span>
</span>
<input
v-if=
"DataList.TeamBalance.ShouldReceive==0&&EditBtn"
type=
"button"
class=
"hollowFixedBtn"
value=
"设为机票损失"
@
click=
"Setloss('','all')"
style=
"height:24px;padding:0 10px"
/>
<input
v-if=
"DataList.TeamBalance.ShouldReceive==0&&EditBtn"
type=
"button"
class=
"hollowFixedBtn"
value=
"设为机票损失"
@
click=
"Setloss('','all')"
style=
"height:24px;padding:0 10px"
/>
</div>
</div>
...
...
@@ -819,8 +829,7 @@
</tr>
<
template
v-for=
"item in DataList.FinicePayList"
>
<!--
<tr
v-if=
'item.OrderSource===4 || isExists(item.CostTypeList,'
国际段机票')'
>
-->
<tr
v-if=
"(isExists(item.CostTypeList,'国际段机票')
<tr
v-if=
"(isExists(item.CostTypeList,'国际段机票')
|| item.OrderSource===4
|| isExists(item.CostTypeList,'机票退税')
|| isExists(item.CostTypeList,'机票罚金')
...
...
@@ -829,7 +838,9 @@
<td>
<el-checkbox
v-model=
"item.checked"
></el-checkbox>
<span
class=
"Team_income"
@
click=
"goUrl('FinancialDocumentsDetail',item.FrID)"
>
{{
item
.
FrID
}}
</span>
<input
v-if=
"(DataList.TeamBalance.ShouldReceive==0 && isContain(item.CostTypeList))&&EditBtn"
type=
"button"
class=
"hollowFixedBtn"
value=
"设为损失"
@
click=
"Setloss(item.FrID,'sigal')"
style=
"height:24px;padding:0 10px"
/>
<input
v-if=
"(DataList.TeamBalance.ShouldReceive==0 && isContain(item.CostTypeList))&&EditBtn"
type=
"button"
class=
"hollowFixedBtn"
value=
"设为损失"
@
click=
"Setloss(item.FrID,'sigal')"
style=
"height:24px;padding:0 10px"
/>
</td>
<td><span
v-for=
"subItem in item.CostTypeList"
:key=
"subItem.subCode"
>
{{
subItem
}}
<br
/></span></td>
<td>
...
...
@@ -1090,7 +1101,8 @@
<th
width=
"200"
>
当前审核人
</th>
</tr>
<
template
v-for=
"item in DataList.FinicePayList"
>
<tr
v-if=
"isExists(item.CostTypeList,'保险费') || isExists(item.CostTypeList,'旅游责任险') || isExists(item.CostTypeList,'团队保险')"
>
<tr
v-if=
"isExists(item.CostTypeList,'保险费') || isExists(item.CostTypeList,'旅游责任险') || isExists(item.CostTypeList,'团队保险')"
>
<td>
<el-checkbox
v-model=
"item.checked"
></el-checkbox>
<span
class=
"Team_income"
@
click=
"goUrl('FinancialDocumentsDetail',item.FrID)"
>
{{
item
.
FrID
}}
</span>
...
...
@@ -1196,8 +1208,7 @@
<th
width=
"200"
>
当前审核人
</th>
</tr>
<
template
v-for=
"item in DataList.newFinicePayList2"
>
<tr
v-if=
"NotExists(item.CostTypeList,'领队奖励金')
<tr
v-if=
"NotExists(item.CostTypeList,'领队奖励金')
&&NotExists(item.CostTypeList,'机票折让费')
&&NotExists(item.CostTypeList,'签证费')
&&NotExists(item.CostTypeList,'签证佣金')
...
...
@@ -1524,7 +1535,7 @@
<th>
操作人/时间
</th>
<th>
操作
</th>
</tr>
<
template
v-for=
"(item,i) in dataDocList"
>
<
template
v-for=
"(item,i) in dataDocList"
>
<tr
:key=
"i"
>
<td>
{{
item
.
Id
}}
</td>
<td>
{{
item
.
TCNUM
}}
(
{{
item
.
TCID
}}
)
</td>
...
...
@@ -1582,22 +1593,25 @@
<!-- 团队小费 -->
<el-dialog
custom-class=
"tipdialog"
width=
"500px"
title=
"团队小费"
:visible
.
sync=
"tipdialog"
center
>
<table
class=
"singeRowTable tipTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
style=
" border-spacing:0 10px;"
v-loading=
"tiploading"
>
<table
class=
"singeRowTable tipTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
style=
" border-spacing:0 10px;"
v-loading=
"tiploading"
>
<tr>
<th
class=
"text_left"
>
<input
type=
"checkbox"
@
change=
"checkAll"
v-model=
"checkd"
></th>
<th
class=
"text_left"
>
<input
type=
"checkbox"
@
change=
"checkAll"
v-model=
"checkd"
></th>
<th>
订单号
</th>
<th>
旅客名称
</th>
<th>
平均小费
</th>
<th>
财务单据
</th>
</tr>
<tr
v-for=
"(item,index) in tipPeopleList"
:key=
"index"
>
<td
class=
"text_left"
>
<input
type=
"checkbox"
:disabled=
"item.FinanceId!=0"
v-model=
"checkList"
:value=
"item.GuestId"
@
change=
"checkThis"
></td>
<td
class=
"text_left"
>
<input
type=
"checkbox"
:disabled=
"item.FinanceId!=0"
v-model=
"checkList"
:value=
"item.GuestId"
@
change=
"checkThis"
></td>
<td>
{{item.OrderId}}
</td>
<td>
{{item.GuestName}}
</td>
<td>
{{item.Money}}
</td>
<td>
<span
v-if=
"item.FinanceId==0"
>
未录入
</span>
<span
style=
"text-decoration:underline;cursor:pointer"
@
click=
"gourlTip('FinancialDocumentsDetail',id)"
v-else
>
{{item.FinanceId}}
</span>
<span
style=
"text-decoration:underline;cursor:pointer"
@
click=
"gourlTip('FinancialDocumentsDetail',id)"
v-else
>
{{item.FinanceId}}
</span>
</td>
</tr>
<tr
v-if=
"tipPeopleList.length==0"
>
...
...
@@ -1616,17 +1630,17 @@
export
default
{
data
()
{
return
{
isIncomeExpenditure
:
false
,
//查看团队收支明细权限
isIncomeExpenditure
:
false
,
//查看团队收支明细权限
auditList
:
[],
auditCoun
:
0
,
ticketList
:[],
tipdialog
:
false
,
auditCoun
:
0
,
ticketList
:
[],
tipdialog
:
false
,
gridData
:
[],
TCID
:
0
,
//数据列表
DataList
:
{
TeamBalance
:{
ShouldReceive
:
0
TeamBalance
:
{
ShouldReceive
:
0
}
},
OutBranchId
:
0
,
...
...
@@ -1705,85 +1719,85 @@
otheryTotalsf
:
0
,
},
HangingList
:
[],
tipPeopleList
:[],
checkList
:[],
checkd
:
false
,
tiploading
:
false
,
checkListAll
:[],
dateList
:[],
dataInfo
:{},
datainfoobj
:{
pageIndex
:
1
,
pageSize
:
10
,
TCNUM
:
''
,
FinanceId
:
0
,
AccountId
:
-
1
,
Type
:
3
,
StartTime
:
''
,
EndTime
:
''
,
tipPeopleList
:
[],
checkList
:
[],
checkd
:
false
,
tiploading
:
false
,
checkListAll
:
[],
dateList
:
[],
dataInfo
:
{},
datainfoobj
:
{
pageIndex
:
1
,
pageSize
:
10
,
TCNUM
:
''
,
FinanceId
:
0
,
AccountId
:
-
1
,
Type
:
3
,
StartTime
:
''
,
EndTime
:
''
,
},
dataDocList
:[],
EditBtn
:
false
dataDocList
:
[],
EditBtn
:
false
};
},
methods
:
{
//查询驳回数据
GetALLPageList
(){
GetALLPageList
()
{
let
msg
=
{
pageIndex
:
1
,
pageSize
:
5
,
FrID
:
0
,
sDate
:
''
,
eDate
:
''
,
Status
:
'3'
,
TemplateId
:
0
,
RB_Branch_Id
:
-
1
,
RB_Depart_Id
:
0
,
sTradeDate
:
''
,
eTradeDate
:
''
,
ClientType
:
0
,
RemitterName
:
''
,
ClientID
:
0
,
sMoney
:
''
,
eMoney
:
''
,
CurrencyId
:
0
,
CostTypeID
:
0
,
Conditon
:
0
,
TCNUM
:
this
.
TCID
,
pageIndex
:
1
,
pageSize
:
5
,
FrID
:
0
,
sDate
:
''
,
eDate
:
''
,
Status
:
'3'
,
TemplateId
:
0
,
RB_Branch_Id
:
-
1
,
RB_Depart_Id
:
0
,
sTradeDate
:
''
,
eTradeDate
:
''
,
ClientType
:
0
,
RemitterName
:
''
,
ClientID
:
0
,
sMoney
:
''
,
eMoney
:
''
,
CurrencyId
:
0
,
CostTypeID
:
0
,
Conditon
:
0
,
TCNUM
:
this
.
TCID
,
TCID
:
0
,
TradeWay
:
0
,
Type
:
'-1'
,
AccountType
:
0
,
QEndDate
:
''
,
QStartDate
:
''
,
UpdateBy
:
0
,
IsFormRecPayQuery
:
'1'
,
KJCostTypeId
:
0
,
IsSelectKJSetCostType
:
0
,
Remark
:
''
,
//备注查询
Sort
:
'2'
,
EmployeeId
:
''
,
OrderID
:
0
,
}
this
.
apipost
(
'Financial_post_GetALLPageList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
TradeWay
:
0
,
Type
:
'-1'
,
AccountType
:
0
,
QEndDate
:
''
,
QStartDate
:
''
,
UpdateBy
:
0
,
IsFormRecPayQuery
:
'1'
,
KJCostTypeId
:
0
,
IsSelectKJSetCostType
:
0
,
Remark
:
''
,
//备注查询
Sort
:
'2'
,
EmployeeId
:
''
,
OrderID
:
0
,
}
this
.
apipost
(
'Financial_post_GetALLPageList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
.
list
;
this
.
auditList
=
data
this
.
auditCoun
=
this
.
auditList
.
length
>
0
?
this
.
auditList
.
length
:
0
;
this
.
auditCoun
=
this
.
auditList
.
length
>
0
?
this
.
auditList
.
length
:
0
;
}
else
{
this
.
loading
=
false
;
}
else
{
this
.
loading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
err
=>
{})
},
goZhidan
(
item
){
let
Handmsg
=
{
OtherType
:
10
,
ReFinanceId
:
item
.
Id
,
TCNUM
:
''
,
goZhidan
(
item
)
{
let
Handmsg
=
{
OtherType
:
10
,
ReFinanceId
:
item
.
Id
,
TCNUM
:
''
,
};
let
arr
=
[];
let
arr
=
[];
var
TCArr
=
[
this
.
TCID
];
let
orderObj
=
{
OrderID
:
0
,
...
...
@@ -1791,54 +1805,57 @@
Obj
:
{},
TCIDList
:
TCArr
}
var
msg
=
JSON
.
stringify
(
Handmsg
);
var
msg
=
JSON
.
stringify
(
Handmsg
);
let
routeData
=
this
.
$router
.
resolve
({
name
:
'ChoiceAddFinancialDocuments'
,
query
:
{
czmsg
:
msg
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)}
query
:
{
czmsg
:
msg
,
'orderObj'
:
JSON
.
stringify
(
orderObj
)
}
})
window
.
open
(
routeData
.
href
,
'_blank'
)
},
getDocList
(){
let
obj
=
{
pageIndex
:
1
,
pageSize
:
999
,
TCNUM
:
this
.
TCID
,
FinanceId
:
0
,
AccountId
:
-
1
,
Type
:
3
,
StartTime
:
''
,
EndTime
:
''
,
getDocList
()
{
let
obj
=
{
pageIndex
:
1
,
pageSize
:
999
,
TCNUM
:
this
.
TCID
,
FinanceId
:
0
,
AccountId
:
-
1
,
Type
:
3
,
StartTime
:
''
,
EndTime
:
''
,
};
this
.
apipost
(
'Financial_get_GetFinanceReceiptPageList'
,
obj
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
apipost
(
'Financial_get_GetFinanceReceiptPageList'
,
obj
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataDocList
=
res
.
data
.
data
.
pageData
;
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
err
=>
{})
},
getdataInfo
(){
if
(
this
.
dateList
&&
this
.
dateList
.
length
>
0
)
{
this
.
datainfoobj
.
StartTime
=
this
.
dateList
[
0
];
this
.
datainfoobj
.
EndTime
=
this
.
dateList
[
1
];
}
else
{
this
.
datainfoobj
.
StartTime
=
''
;
this
.
datainfoobj
.
EndTime
=
''
;
getdataInfo
()
{
if
(
this
.
dateList
&&
this
.
dateList
.
length
>
0
)
{
this
.
datainfoobj
.
StartTime
=
this
.
dateList
[
0
];
this
.
datainfoobj
.
EndTime
=
this
.
dateList
[
1
];
}
else
{
this
.
datainfoobj
.
StartTime
=
''
;
this
.
datainfoobj
.
EndTime
=
''
;
}
this
.
apipost
(
'Financial_get_GetFinanceReceiptStatistics'
,
this
.
datainfoobj
,
res
=>
{
this
.
apipost
(
'Financial_get_GetFinanceReceiptStatistics'
,
this
.
datainfoobj
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataInfo
=
res
.
data
.
data
;
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
err
=>
{})
},
isContain
(
list
){
isContain
(
list
)
{
if
(
list
&&
list
.
length
==
1
&&
list
[
0
]
==
"机票罚金"
)
{
if
(
list
&&
list
.
length
==
1
&&
list
[
0
]
==
"机票罚金"
)
{
return
false
;
}
else
{
}
else
{
return
true
;
}
},
...
...
@@ -1851,19 +1868,19 @@
});
},
Setloss
(
ID
,
type
)
{
Setloss
(
ID
,
type
)
{
var
that
=
this
;
let
msg
=
{
FrIDList
:[]
let
msg
=
{
FrIDList
:
[]
};
let
FrIDList
=
[];
let
FrIDList
=
[];
if
(
type
==
'all'
)
{
FrIDList
=
this
.
ticketList
;
}
else
{
if
(
type
==
'all'
)
{
FrIDList
=
this
.
ticketList
;
}
else
{
FrIDList
.
push
(
ID
)
}
msg
.
FrIDList
=
FrIDList
;
msg
.
FrIDList
=
FrIDList
;
that
.
Confirm
(
'是否设为损失,一旦设置,将无法修改!'
,
function
()
{
...
...
@@ -1882,7 +1899,7 @@
)
})
},
gourlTip
(
path
,
id
)
{
gourlTip
(
path
,
id
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
...
...
@@ -1891,31 +1908,31 @@
}
});
},
SaveTip
(){
if
(
this
.
checkList
.
length
==
0
)
{
SaveTip
()
{
if
(
this
.
checkList
.
length
==
0
)
{
this
.
Error
(
"至少选择一个旅客!"
);
return
;
}
let
arr
=
[];
this
.
tipPeopleList
.
forEach
(
x
=>
{
this
.
checkList
.
forEach
(
y
=>
{
if
(
x
.
GuestId
==
y
)
{
let
obj
=
{
OrderId
:
x
.
OrderId
,
GuestId
:
x
.
GuestId
,
GuestName
:
x
.
GuestName
,
TCID
:
this
.
TCID
,
let
arr
=
[];
this
.
tipPeopleList
.
forEach
(
x
=>
{
this
.
checkList
.
forEach
(
y
=>
{
if
(
x
.
GuestId
==
y
)
{
let
obj
=
{
OrderId
:
x
.
OrderId
,
GuestId
:
x
.
GuestId
,
GuestName
:
x
.
GuestName
,
TCID
:
this
.
TCID
,
};
arr
.
push
(
obj
);
}
})
})
sessionStorage
.
setItem
(
"TipGuestList"
,
JSON
.
stringify
(
arr
))
sessionStorage
.
setItem
(
"TipGuestList"
,
JSON
.
stringify
(
arr
))
var
TCArr
=
[
this
.
TCID
];
let
orderObj
=
{
OrderID
:
0
,
OrderSource
:
8
,
tipObj
:
1
,
tipObj
:
1
,
Obj
:
{},
TCIDList
:
TCArr
}
...
...
@@ -1928,34 +1945,36 @@
'orderObj'
:
JSON
.
stringify
(
orderObj
)
}
});
this
.
tipdialog
=
false
;
this
.
tipdialog
=
false
;
},
checkThis
(){
// 单选
if
(
this
.
checkList
.
length
==
this
.
checkListAll
.
length
){
checkThis
()
{
// 单选
if
(
this
.
checkList
.
length
==
this
.
checkListAll
.
length
)
{
this
.
checkd
=
true
return
}
this
.
checkd
=
false
},
checkAll
()
{
//全选
if
(
this
.
checkList
.
length
==
this
.
checkListAll
.
length
)
{
this
.
checkList
=
[]
checkAll
()
{
//全选
if
(
this
.
checkList
.
length
==
this
.
checkListAll
.
length
)
{
this
.
checkList
=
[]
return
}
this
.
checkList
=
this
.
checkListAll
;
},
AddTipDiv
(){
this
.
checkList
=
[];
this
.
tiploading
=
true
;
this
.
apipost
(
'sellorder_post_GetNoEntryTipMoneyGuestList'
,
{
TCID
:
this
.
TCID
},
res
=>
{
this
.
tiploading
=
false
;
AddTipDiv
()
{
this
.
checkList
=
[];
this
.
tiploading
=
true
;
this
.
apipost
(
'sellorder_post_GetNoEntryTipMoneyGuestList'
,
{
TCID
:
this
.
TCID
},
res
=>
{
this
.
tiploading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
tipPeopleList
=
res
.
data
.
data
;
this
.
tipPeopleList
.
forEach
(
x
=>
{
if
(
x
.
FinanceId
==
0
)
{
this
.
tipPeopleList
=
res
.
data
.
data
;
this
.
tipPeopleList
.
forEach
(
x
=>
{
if
(
x
.
FinanceId
==
0
)
{
this
.
checkListAll
.
push
(
x
.
GuestId
)
}
})
...
...
@@ -1963,7 +1982,7 @@
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
null
)
this
.
tipdialog
=
true
;
this
.
tipdialog
=
true
;
},
//判断数组包含字符串
isExists
(
array
,
str
)
{
...
...
@@ -1986,11 +2005,11 @@
return
flag
;
},
//跳转至阿米巴结算详情
goAmoebaDetail
(
TCNUM
,
TCID
)
{
goAmoebaDetail
(
TCNUM
,
TCID
)
{
this
.
$router
.
push
({
name
:
"AmoebaDetail"
,
query
:
{
TCNUM
:
TCNUM
,
TCNUM
:
TCNUM
,
TCID
:
TCID
,
blank
:
"y"
,
tab
:
"阿米巴结算详情"
...
...
@@ -2102,7 +2121,7 @@
let
that
=
this
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
let
objData
=
function
(
obj
)
{
let
objData
=
function
(
obj
)
{
obj
.
newFinicePayList1
=
[]
obj
.
newFinicePayList2
=
[]
obj
.
newFinicePayList
=
[]
...
...
@@ -2114,40 +2133,40 @@
this
.
DataList
=
data
;
data
.
FinicePayList
.
forEach
(
item
=>
{
if
((
that
.
isExists
(
item
.
CostTypeList
,
'国际段机票'
)
||
item
.
OrderSource
===
4
||
that
.
isExists
(
item
.
CostTypeList
,
'机票退税'
)
||
that
.
isExists
(
item
.
CostTypeList
,
'机票罚金'
)
||
that
.
isExists
(
item
.
CostTypeList
,
'机票税金'
))
||
that
.
isExists
(
item
.
CostTypeList
,
'国内联运段机票'
))
{
if
((
that
.
isExists
(
item
.
CostTypeList
,
'国际段机票'
)
||
item
.
OrderSource
===
4
||
that
.
isExists
(
item
.
CostTypeList
,
'机票退税'
)
||
that
.
isExists
(
item
.
CostTypeList
,
'机票罚金'
)
||
that
.
isExists
(
item
.
CostTypeList
,
'机票税金'
))
||
that
.
isExists
(
item
.
CostTypeList
,
'国内联运段机票'
))
{
this
.
DataList
.
newFinicePayList1
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
item
)))
}
else
if
(
that
.
NotExists
(
item
.
CostTypeList
,
'领队奖励金'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'机票折让费'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'签证费'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'签证佣金'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'地接费(领取)'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'地接费(结算)'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'提成'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'国内联运'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'车资'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'邀请函费用'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'名单表费'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'领队佣金'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'导游佣金'
)
&&
item
.
OrderSource
!==
4
&&
that
.
NotExists
(
item
.
CostTypeList
,
'国际段机票'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'机票退税'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'机票罚金'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'机票税金'
)
&&
item
.
OrderSource
!==
11
&&
that
.
NotExists
(
item
.
CostTypeList
,
'赔偿'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'保险费'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'旅游责任险'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'团队保险'
))
{
}
else
if
(
that
.
NotExists
(
item
.
CostTypeList
,
'领队奖励金'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'机票折让费'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'签证费'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'签证佣金'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'地接费(领取)'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'地接费(结算)'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'提成'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'国内联运'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'车资'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'邀请函费用'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'名单表费'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'领队佣金'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'导游佣金'
)
&&
item
.
OrderSource
!==
4
&&
that
.
NotExists
(
item
.
CostTypeList
,
'国际段机票'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'机票退税'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'机票罚金'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'机票税金'
)
&&
item
.
OrderSource
!==
11
&&
that
.
NotExists
(
item
.
CostTypeList
,
'赔偿'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'保险费'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'旅游责任险'
)
&&
that
.
NotExists
(
item
.
CostTypeList
,
'团队保险'
))
{
this
.
DataList
.
newFinicePayList2
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
item
)))
}
})
this
.
GetALLPageList
()
//查询驳回数据
this
.
GetALLPageList
()
//查询驳回数据
this
.
DataList
.
FiniceReciveList
.
forEach
(
item
=>
{
if
(
that
.
isExists
(
item
.
CostTypeList
,
'团费'
)
||
that
.
isExists
(
item
.
CostTypeList
,
'团款'
))
{
// 收入 团费
...
...
@@ -2182,12 +2201,12 @@
.
OrderSource
!==
7
)
{
this
.
moneyAll
.
otherys
+=
item
.
Money
;
this
.
moneyAll
.
otherss
+=
item
.
PayMoney
;
this
.
moneyAll
.
otheryTotalyf
+=
item
.
Money
;
this
.
moneyAll
.
otheryTotalsf
+=
item
.
PayMoney
;
this
.
moneyAll
.
otheryTotalyf
+=
item
.
Money
;
this
.
moneyAll
.
otheryTotalsf
+=
item
.
PayMoney
;
}
})
this
.
ticketList
=
[];
this
.
ticketList
=
[];
this
.
DataList
.
FinicePayList
.
forEach
(
item
=>
{
// 邀请函:
if
(
that
.
isExists
(
item
.
CostTypeList
,
'邀请函费用'
)
||
that
.
isExists
(
item
.
CostTypeList
,
'名单表费'
))
{
...
...
@@ -2273,20 +2292,20 @@
}
})
// if(this.moneyAll.dijieys>0 || this.moneyAll.dijiess>0){
// }
// if(this.moneyAll.zifeiys>0 || this.moneyAll.zifeiss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.zifeiys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.zifeiss;
// }
// if(this.moneyAll.xiaofeiys>0 || this.moneyAll.xiaofeiss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.xiaofeiys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.xiaofeiss;
// } if(this.moneyAll.yongjinys>0 || this.moneyAll.yongjinss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.yongjinys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.yongjinss;
// }
// if(this.moneyAll.dijieys>0 || this.moneyAll.dijiess>0){
// }
// if(this.moneyAll.zifeiys>0 || this.moneyAll.zifeiss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.zifeiys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.zifeiss;
// }
// if(this.moneyAll.xiaofeiys>0 || this.moneyAll.xiaofeiss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.xiaofeiys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.xiaofeiss;
// } if(this.moneyAll.yongjinys>0 || this.moneyAll.yongjinss>0){
// this.moneyAll.otheryTotalyf+=this.moneyAll.yongjinys;
// this.moneyAll.otheryTotalsf+=this.moneyAll.yongjinss;
// }
}
});
},
...
...
@@ -2402,7 +2421,7 @@
// )
},
//判断数组是否存在 值
isExists
(
arr
,
item
)
{
isExists
(
arr
,
item
)
{
var
flag
=
false
;
for
(
var
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
if
(
arr
[
i
]
==
item
)
{
...
...
@@ -2426,7 +2445,7 @@
},
mounted
()
{
this
.
TCID
=
this
.
$route
.
query
.
id
;
this
.
datainfoobj
.
TCNUM
=
this
.
$route
.
query
.
id
;
this
.
datainfoobj
.
TCNUM
=
this
.
$route
.
query
.
id
;
this
.
OutBranchId
=
this
.
$route
.
query
.
OutBranchId
;
this
.
CloseIncomeBtn
=
this
.
$route
.
query
.
CloseIncomeBtn
;
if
(
this
.
$route
.
query
.
IsHaveAuth
)
{
...
...
@@ -2437,7 +2456,7 @@
let
userInfo
=
this
.
getLocalStorage
();
let
ActionMenuCode
=
userInfo
.
ActionMenuCode
;
// 查看团队收支明细权限
if
(
ActionMenuCode
.
indexOf
(
'isIncomeExpenditure'
)
!=
-
1
){
if
(
ActionMenuCode
.
indexOf
(
'isIncomeExpenditure'
)
!=
-
1
)
{
this
.
isIncomeExpenditure
=
true
}
this
.
checkHasAuth
();
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
View file @
87218662
...
...
@@ -95,7 +95,12 @@
</td>
<td
width=
"80"
class=
"txtRightCost"
>
团队类型
</td>
<td
width=
"300"
>
<template
v-if=
"postConfig.TeamType==1"
>
<span
style=
"color:red;font-weight:bold;"
>
{{
postConfig
.
TeamTypeName
}}
</span>
</
template
>
<
template
v-else
>
{{
postConfig
.
TeamTypeName
}}
</
template
>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
行程天数
</td>
<td>
...
...
@@ -175,7 +180,7 @@
<td
width=
"100"
class=
"CP_ComTitle2 CostcomCenter"
>
中
</td>
<td
width=
"100"
class=
"CP_ComTitle2 CostcomCenter"
>
晚
</td>
</tr>
<
template
v
-
if
=
"CostNumberList&&CostNumberList.length>1"
>
<
template
v-if=
"CostNumberList&&CostNumberList.length>1"
>
<template
v-for=
"(subItem,subIndex) in dayCostPrice"
>
<template
v-for=
"(childItem,childIndex) in CostNumberList"
>
<tr>
...
...
@@ -222,7 +227,6 @@
</tr>
</template>
</template>
<
template
v-for=
"(childItem,childIndex) in CostNumberList"
>
<tr>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
v-if=
"childIndex==0"
...
...
@@ -259,7 +263,7 @@
</tr>
</
template
>
<
template
v-for=
"(childItem,childIndex) in CostNumberList"
>
<
tr
>
<tr
:key=
"childIndex+1000"
>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
人民币小计
...
...
@@ -775,12 +779,6 @@
{{teamPrice.SingleRoomPrice}}
</td>
</tr>
<!--
<
tr
>
<
td
class
=
"CP_ComTitle2"
>
备注
<
/td
>
<
td
colspan
=
"13"
>
{{
OtherPrice
.
OtherRemark
}}
<
/td
>
<
/tr> --
>
<tr>
<td
class=
"CP_ComTitle2"
>
附件
</td>
<td
colspan=
"13"
>
...
...
@@ -794,9 +792,25 @@
</tr>
<tr>
<td
class=
"CP_ComTitle2"
>
审核备注
</td>
<
td
colspan
=
"
13
"
>
<td
colspan=
"
7
"
>
<el-input
type=
"textarea"
v-model=
"postConfig.AuditContent"
></el-input>
</td>
<td
colspan=
"2"
>
当前团队类型:
<
template
v-if=
"postConfig.TeamTypeName=='小包团'"
>
<span
style=
"color:red;font-weight:bold;"
>
{{
postConfig
.
TeamTypeName
}}
</span>
</
template
>
<
template
v-else
>
{{
postConfig
.
TeamTypeName
}}
</
template
>
</td>
<td
colspan=
"4"
>
<el-form-item
label=
"更改团队类型"
>
<el-select
class=
"multiple_input"
v-model=
"postConfig.TeamType"
>
<el-option
v-for=
'item in teamList'
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr
v-if=
"IsEdit==2"
>
<td
colspan=
"14"
style=
"text-align:center;"
>
...
...
@@ -825,10 +839,23 @@
dayCostPrice
:
[],
CostCurrencyList
:
[],
CostNumberList
:
[],
teamPrice
:
{
}
teamPrice
:
{},
teamList
:
[],
//团队类型
}
},
methods
:
{
getTeamList
()
{
//出团公司
this
.
apipost
(
"travel_GetTeamTypeEnumList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
teamList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
selectTag
(
index
)
{
this
.
tabsActive
=
index
this
.
changeTabs
()
...
...
@@ -1091,14 +1118,15 @@
},
getchange
()
{
this
.
getLeaderShare
();
}
},
mounted
()
{
this
.
orderList
=
this
.
OfferArray
this
.
changeTabs
()
},
created
()
{
}
,
created
()
{
this
.
getTeamList
();
},
watch
:
{
},
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPriceMun.vue
View file @
87218662
...
...
@@ -78,6 +78,17 @@
<el-form>
<div
class=
"QuotationFirstDiv1"
>
<table>
<tr>
<th>
开团提示
</th>
<th
colspan=
"5"
style=
"text-align:left;line-height:40px;"
>
<p
style=
"color:red;font-weight:bold;"
>
1.“常规团”对应 “散拼”;
2.“小包团”(10人以下 或者
超过10人纯玩不进店);
3.“当地游”(不需要机票);
</p>
</th>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
出团类型
</td>
<td>
...
...
src/components/TravelManager/TravelNewQuotation/QuotationAduit.vue
View file @
87218662
...
...
@@ -12,15 +12,15 @@
<
template
>
<div
class=
"DirectQuotation clearfix"
v-loading=
"loading"
>
<div
class=
"singlePrice clearfix"
>
<CostNewPriceAudit
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:OtherPrice=
"otherPrice"
:OfferArray=
"OfferArray"
:dayCostPrice=
"dayCostPriceList"
:CostCurrencyList=
"CostCurrencyList"
:CostNumberList=
"CostNumberList"
:CurrencyNumberListExt=
"CurrencyNumberListExt"
:teamPrice=
"teamPrice"
:IsEdit=
"IsEdit"
></CostNewPriceAudit>
<CostNewPriceAudit
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:OtherPrice=
"otherPrice"
:OfferArray=
"OfferArray"
:dayCostPrice=
"dayCostPriceList"
:CostCurrencyList=
"CostCurrencyList"
:CostNumberList=
"CostNumberList"
:CurrencyNumberListExt=
"CurrencyNumberListExt"
:teamPrice=
"teamPrice"
:IsEdit=
"IsEdit"
></CostNewPriceAudit>
</div>
</div>
</
template
>
<
script
>
import
CostNewPriceAudit
from
"../TravelNewQuotation/CostNewPriceAudit"
;
export
default
{
data
()
{
return
{
...
...
@@ -64,7 +64,7 @@
OutBranchName
:
""
,
//出团公司名称
OutDateTime
:
""
,
//出发时间
OfferPayType
:
0
,
//报价单付款方式()
SaleOfferPayType
:
0
,
//售价付款方式
SaleOfferPayType
:
0
,
//售价付款方式
},
dayCostPriceList
:
[],
//报价列表
isSubmit
:
true
,
...
...
@@ -145,7 +145,6 @@
};
},
methods
:
{
//保存数据
SaveData
(
Type
)
{
var
nObj
=
{
...
...
@@ -153,6 +152,7 @@
AuditContent
:
this
.
postData
.
AuditContent
,
TravelState
:
Type
,
OfferPayType
:
this
.
postData
.
OfferPayType
,
TeamType
:
this
.
postData
.
TeamType
,
};
this
.
loading
=
true
;
this
.
apipost
(
...
...
@@ -186,8 +186,9 @@
let
msg
=
{
ID
:
configId
,
offerId
:
offerId
};
this
.
apipost
(
"travel_get_GetMyTravelInfo_V3"
,
// travel_get_GetMyTravelInfo_V2
};
this
.
apipost
(
"travel_get_GetMyTravelInfo_V3"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -226,53 +227,19 @@
this
.
postData
.
OutBranchId
=
tempData
.
OutBranchId
;
this
.
postData
.
OutDateTime
=
tempData
.
OutDateTime
;
this
.
postData
.
OfferPayType
=
tempData
.
OfferPayType
;
this
.
postData
.
SaleOfferPayType
=
tempData
.
SaleOfferPayType
;
this
.
postData
.
SaleOfferPayType
=
tempData
.
SaleOfferPayType
;
this
.
LineList
=
tempData
.
LineList
;
this
.
postData
.
LineName
=
tempData
.
LineName
this
.
postData
.
LtName
=
tempData
.
LtName
this
.
postData
.
LtName
=
tempData
.
LtName
this
.
postData
.
OutBranchName
=
tempData
.
OutBranchName
this
.
postData
.
TeamTypeName
=
tempData
.
TeamTypeName
if
(
tempData
.
OfferArray
)
{
this
.
postData
.
LineName
=
tempData
.
LineName
;
this
.
postData
.
LtName
=
tempData
.
LtName
;
this
.
postData
.
LtName
=
tempData
.
LtName
;
this
.
postData
.
OutBranchName
=
tempData
.
OutBranchName
;
this
.
postData
.
TeamTypeName
=
tempData
.
TeamTypeName
;
this
.
postData
.
TeamType
=
tempData
.
TeamType
;
if
(
tempData
.
OfferArray
)
{
tempData
.
OfferArray
.
forEach
(
item
=>
{
this
.
OfferArray
.
push
(
item
)
})
// this.OfferArray = tempData.OfferArray
}
// if (tempData.dayCostPriceList && tempData.dayCostPriceList != null && tempData.dayCostPriceList.length >
// 0) {
// this.dayCostPriceList = tempData.dayCostPriceList;
// }
// if (tempData.otherPrice) {
// this.otherPrice = tempData.otherPrice;
// }
// if (tempData.teamPrice) {
// this.teamPrice = tempData.teamPrice;
// }
// if (tempData.CostNumberList && tempData.CostNumberList != null && tempData.CostNumberList.length > 0) {
// this.CostNumberList = tempData.CostNumberList;
// }
// if (tempData.CostCurrencyList && tempData.CostCurrencyList != null && tempData.CostCurrencyList.length >
// 0) {
// this.CostCurrencyList = tempData.CostCurrencyList;
// }
// if (tempData.CurrencyNumberListExt && tempData.CurrencyNumberListExt != null && tempData
// .CurrencyNumberListExt.length > 0) {
// this.CurrencyNumberListExt = tempData.CurrencyNumberListExt;
// }
// if (this.CostCurrencyList && this.CostCurrencyList.length > 0 &&
// this.CurrencyNumberListExt) {
// this.CostCurrencyList.forEach(item => {
// let currencyNumberItem = {
// Key: item.CurrencyId,
// currencyNumberList: []
// };
// if (this.CurrencyNumberListExt.length == 0) {
// this.CurrencyNumberListExt.push(currencyNumberItem);
// }
// });
// }
this
.
haveData
=
true
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
...
...
src/components/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
View file @
87218662
...
...
@@ -159,7 +159,6 @@
return
currencyNumList
}
this
.
postData
.
TravelState
=
type
;
// console.log('this.postData', this.postData, this.postData.LineId)
// 线路必填
if
(
!
this
.
postData
.
LineId
)
{
this
.
$message
.
error
(
'请选择线路'
)
...
...
src/components/TravelManager/TravelNewQuotation/newQuotation.vue
View file @
87218662
...
...
@@ -51,12 +51,14 @@
cursor
:
pointer
;
text-align
:
center
;
}
.line1
{
.line1
{
width
:
240px
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
}
</
style
>
<
template
>
<div
class=
"flexOne quoTation"
>
...
...
@@ -83,7 +85,6 @@
</el-select>
</span>
</li>
<li>
<span>
<em>
开团状态
</em>
...
...
@@ -97,7 +98,8 @@
<li>
<span>
<span>
{{
$t
(
'visa.v_czuser'
)
}}
</span>
<el-select
class=
"w150"
v-model=
"queryData.CreateBy"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-select
class=
"w150"
v-model=
"queryData.CreateBy"
filterable
:placeholder=
"$t('pub.pleaseSel')"
clearable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
>
</el-option>
<el-option
v-for=
"(item,index) in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
...
...
@@ -116,30 +118,29 @@
<li
v-for=
"item in dataList"
:key=
"item.subCode"
:data-id=
"item.ID"
style=
"padding:0 10px;"
>
<div
class=
"_left"
style=
"padding:0;display:flex;"
>
<div
class=
"QT_CodeNum"
>
<el-popover
placement=
"top-start"
title=
""
width=
"200"
trigger=
"hover"
:content=
"item.TCNUMS"
>
<el-popover
placement=
"top-start"
title=
""
width=
"200"
trigger=
"hover"
:content=
"item.TCNUMS"
>
<div
slot=
"reference"
v-if=
"item.TCNUMS"
class=
"line1"
>
团号:
{{
item
.
TCNUMS
}}
</div>
</el-popover>
{{
$t
(
'hotel.hotel_SerialNumber'
)
}}
:
{{
item
.
ID
}}
<div>
类型:
{{
item
.
TeamTypeName
}}
类型:
<template
v-if=
"item.TeamType==1"
>
<i
style=
"color:red;font-weight:bold;"
>
{{
item
.
TeamTypeName
}}
</i>
</
template
>
<
template
v-else
>
{{
item
.
TeamTypeName
}}
</
template
>
</div>
</div>
</div>
<div
class=
"_left"
style=
"display:flex;"
>
<div
style=
"padding-left:10px"
>
<p
style=
"font-size:14px"
>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.Title"
placement=
"top-start"
>
<span>
线路名称:{{item.LineName}}
</span>
</el-tooltip>
</p>
<span>
系列名称:{{item.LtName}}
</span>
<div>
出发日期:{{item.OutDateTime}}
</div>
</div>
</div>
<div
class=
"_left"
style=
"padding-left:10px"
>
...
...
@@ -147,7 +148,6 @@
<p
style=
"font-size:14px"
>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.Title"
placement=
"top-start"
>
<span>
{{item.Title}}
</span>
</el-tooltip>
</p>
<span>
客户名称:{{item.CustomerName}}
</span>
...
...
@@ -245,23 +245,12 @@
</div>
</div>
<div
style=
"width:134px;"
>
<!--&& [2,5].includes(item.LineId)-->
<span
class=
"openGroup opbd"
@
click=
"goToOpenTravel(item)"
v-if=
"item.TravelState==3&& item.OpenState==2"
>
<span
class=
"openGroup opbd"
@
click=
"goToOpenTravel(item)"
v-if=
"item.TravelState==3&& item.OpenState==2"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"开团"
placement=
"top-start"
popper-class=
"max-w250"
>
</el-tooltip>
开
</span>
<!--
<span
v-if=
"EditBtn"
class=
"bianji newAopbdd"
@
click=
"goMakeQuo('QuotationNewPrice',item.ID, item.TeamType)"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('pub.updateMsg')"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-bianji-smal"
></i>
</el-tooltip>
</span>
-->
<!-- v-if="item.TravelState!=3" -->
<span
class=
"bianji newAopbdd"
@
click=
"goMakeQuo('QuotationNewPrice',item.ID, item.TeamType)"
>
<span
class=
"bianji newAopbdd"
@
click=
"goMakeQuo('QuotationNewPrice',item.ID, item.TeamType)"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('pub.updateMsg')"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-bianji-smal"
></i>
...
...
@@ -295,10 +284,6 @@
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"queryData.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"queryData.pageSize"
:total=
"queryData.total"
>
</el-pagination>
<el-dialog
custom-class=
'ComTeamPlan_info_box'
:title=
"tripTitle"
:visible
.
sync=
"outerVisible"
center
>
<commonTeamInfo
ref=
"comDialog"
></commonTeamInfo>
</el-dialog>
<!-- 下载弹窗 -->
<el-dialog
custom-class=
'w450'
title=
"报价单下载"
:visible
.
sync=
"downloadBill"
center
>
<div
class=
"BilldownLoadCommon"
>
...
...
@@ -352,13 +337,10 @@
</div>
</template>
<
script
>
import
commonTeamInfo
from
"../../commonPage/commonTeamInfo.vue"
;
export
default
{
data
()
{
return
{
EmployeeList
:
[],
EditBtn
:
false
,
//报价单修改权限
userInfo
:
{},
queryData
:
{
CreateBy
:
''
,
...
...
@@ -373,28 +355,6 @@
TeamType
:
0
,
//0常规,1-小包团,2-一日游,3-地接团
},
loading
:
true
,
//报价单状态
TravelStateList
:
[{
Id
:
1
,
label
:
"草稿"
},
{
Id
:
2
,
label
:
"待审核"
},
{
Id
:
3
,
label
:
"审核通过"
},
{
Id
:
4
,
label
:
"审核拒绝"
},
{
Id
:
5
,
label
:
"已撤销"
}
],
//开团状态
OpenStateList
:
[{
Id
:
1
,
...
...
@@ -413,10 +373,6 @@
//是否有数据
noData
:
false
,
dataList
:
""
,
SalesPriceList
:
[],
CostList
:
[],
outerVisible
:
false
,
tripTitle
:
""
,
downloadBill
:
false
,
//下载参数
downLoadMsg
:
{
...
...
@@ -435,9 +391,6 @@
},
};
},
components
:
{
commonTeamInfo
:
commonTeamInfo
},
methods
:
{
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList
()
{
...
...
@@ -457,7 +410,6 @@
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
goUrl
(
path
,
configId
,
qType
)
{
...
...
@@ -518,87 +470,6 @@
}
});
},
//点击销售定价获取数据
getSalsPrice
(
ID
)
{
this
.
SalesPriceList
=
[];
this
.
apipost
(
"travel_get_GetTravelQuotationPrice"
,
{
ID
:
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
SalesPriceList
=
res
.
data
.
data
;
}
}
);
},
//点击地接成本获取数据
getCostPrice
(
ID
)
{
this
.
CostList
=
[];
this
.
apipost
(
"travel_get_GetTravelOfferPrice"
,
{
ID
:
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
data
[
0
]
!=
undefined
||
res
.
data
.
data
[
0
]
!=
null
)
{
let
cost
=
res
.
data
.
data
[
0
];
let
dayNum
=
0
;
cost
.
LocalOfferPriceList
.
forEach
(
x
=>
{
if
(
x
.
DayNum
>
dayNum
)
{
dayNum
=
x
.
DayNum
;
}
});
let
offerPriceList
=
[];
for
(
let
i
=
1
;
i
<=
dayNum
;
i
++
)
{
let
dayOfferPriceList
=
[];
let
totalPrice
=
0
;
cost
.
LocalOfferPriceList
.
forEach
(
x
=>
{
if
(
x
.
DayNum
==
i
)
{
dayOfferPriceList
.
push
(
x
);
totalPrice
+=
x
.
OfferPrice
;
}
});
let
offerPrice
=
{
day
:
i
,
dayOfferPriceList
,
totalPrice
};
offerPriceList
.
push
(
offerPrice
);
}
cost
[
"offerPriceList"
]
=
offerPriceList
;
this
.
CostList
.
push
(
cost
);
}
}
}
);
},
//撤回
revokeInfo
(
ID
)
{
let
msg
=
{
ID
:
ID
,
TravelState
:
5
};
this
.
apipost
(
"travel_post_UpdateTravelState"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
});
},
//修改状态
changeState
(
ID
)
{
let
msg
=
{
ID
:
ID
,
TravelState
:
2
};
this
.
apipost
(
"travel_post_UpdateTravelState"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
});
},
//删除报价单
delQuotation
(
ID
)
{
var
that
=
this
;
...
...
@@ -621,15 +492,6 @@
);
});
},
getJourney
(
id
,
title
)
{
//根据ID 获取行程内容
var
that
=
this
;
this
.
tripTitle
=
title
;
this
.
$nextTick
(()
=>
{
that
.
$refs
.
comDialog
.
GetTrip
(
id
);
});
that
.
outerVisible
=
true
;
},
//报价单跳转
goMakeQuo
(
path
,
configId
,
TeamType
)
{
if
(
configId
)
{
...
...
@@ -705,40 +567,14 @@
this
.
loading
=
false
;
});
},
GetAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
EditQuotation
;
this
.
CheckUserAuth
(
actionCode
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
&&
res
.
data
.
data
==
1
)
{
this
.
EditBtn
=
true
;
}
});
},
},
mounted
()
{
this
.
getEmployeeList
();
this
.
GetAuth
();
var
routeName
=
this
.
$route
.
name
;
// if (routeName == 'newQuotation') {
// this.queryData.TeamType = 3;
// }
// if (routeName == 'newQuotation2') {
// this.queryData.TeamType = 1;
// }
this
.
getLineList
();
this
.
getList
();
let
isNoOffer
=
this
.
$route
.
params
.
isNoOffer
;
if
(
isNoOffer
)
{
this
.
Warning
(
"行程中含有未完善的报价信息,请在需求中心查看!"
);
}
},
created
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
if
(
this
.
$route
.
query
.
hasOwnProperty
(
"cache"
))
{
if
(
this
.
$store
.
state
.
pageCondition
!=
null
)
{
this
.
queryData
=
this
.
$store
.
state
.
pageCondition
;
}
}
this
.
getList
();
this
.
getEmployeeList
();
this
.
getLineList
();
}
};
...
...
src/components/myOrdersAllType/components/allList.vue
View file @
87218662
...
...
@@ -223,7 +223,7 @@
<tr>
<td
colspan=
"4"
>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"GetList();showWarningSearch=false"
style=
"width: 310px!important;"
/>
@
click=
"
msg.pageIndex=1,currentPage=1,
GetList();showWarningSearch=false"
style=
"width: 310px!important;"
/>
</td>
</tr>
</table>
...
...
@@ -626,4 +626,3 @@
};
</
script
>
\ No newline at end of file
src/components/rank/entryForm.vue
View file @
87218662
<
style
scoped
>
.groupTourOrder_count_item
>
p
>
span
{
.groupTourOrder_count_item
>
p
>
span
{
margin
:
0
;
}
.color_red_order
{
}
.color_red_order
{
color
:
red
;
}
.HT_total
{
}
.HT_total
{
display
:
flex
;
flex-direction
:
column
;
margin
:
5px
0
;
}
.HT_total
p
{
}
.HT_total
p
{
width
:
100%
;
display
:
block
;
}
.HT_total
p
>
span
{
}
.HT_total
p
>
span
{
float
:
left
;
display
:
inline-block
;
width
:
25%
;
}
.TC_leftSearch
>
div
{
}
.TC_leftSearch
>
div
{
padding
:
5px
0
;
}
.groupTourOrderByTuan_ico
{
}
.groupTourOrderByTuan_ico
{
margin-left
:
5px
;
}
.groupTourOrderByTuan_ico
>
i
{
}
.groupTourOrderByTuan_ico
>
i
{
display
:
inline-block
;
margin
:
0
5px
0
0
;
width
:
8px
;
height
:
8px
;
border-radius
:
2px
;
vertical-align
:
middle
;
}
.HotelWorkList
.has-gutter
tr
th
,
.el-table
th
.is-leaf
{
}
.HotelWorkList
.has-gutter
tr
th
,
.el-table
th
.is-leaf
{
background-color
:
#eaeaea
!important
;
}
}
.HotelWorkList
.HW_hotelDialog
{
.HotelWorkList
.HW_hotelDialog
{
width
:
900px
;
}
}
.HotelWorkList
.Hw_tableOne
{
.HotelWorkList
.Hw_tableOne
{
width
:
100%
;
height
:
40px
;
background-color
:
#eaeaea
;
}
}
.HotelWorkList
.Hw_tableOne
th
{
.HotelWorkList
.Hw_tableOne
th
{
text-align
:
center
;
}
}
.HotelWorkList
.HotelWorkInput
.el-input
{
.HotelWorkList
.HotelWorkInput
.el-input
{
width
:
223px
;
}
}
.HotelWorkList
.HworkInput
.el-input
{
.HotelWorkList
.HworkInput
.el-input
{
width
:
210px
;
}
/
deep
/
.query-box
li
span
>
em
{
}
/
deep
/
.query-box
li
span
>
em
{
min-width
:
60px
;
}
}
</
style
>
<
template
>
<
template
>
<div
class=
"HotelWorkList"
>
<div
class=
"query-box HotelWorkInput"
style=
"border-bottom: none"
>
<ul>
<li>
<span>
<em>
公司
</em>
<el-select
filterable
v-model=
"queryMsg.RB_Branch_Id"
@
change=
"getDepartment"
>
<el-option
:value=
"-1"
:label=
"$t('pub.unlimitedSel')"
></el-option>
<el-option
v-for=
"item in CompanyList"
:label=
"item.BName"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
<el-select
filterable
v-model=
"queryMsg.RB_Branch_Id"
@
change=
"getDepartment"
>
<el-option
:value=
"-1"
:label=
"$t('pub.unlimitedSel')"
></el-option>
<el-option
v-for=
"item in CompanyList"
:label=
"item.BName"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
部门
</em>
<el-select
filterable
v-model=
"queryMsg.RB_Department_Id"
@
change=
"getEmployee"
>
<el-select
filterable
v-model=
"queryMsg.RB_Department_Id"
@
change=
"getEmployee"
>
<el-option
:value=
"0"
:label=
"$t('pub.unlimitedSel')"
></el-option>
<el-option
v-for=
"item in DepartmentList"
:label=
"item.DepartmentName"
:value=
"item.DepartmentID"
:key=
"item.DepartmentID"
></el-option>
<el-option
v-for=
"item in DepartmentList"
:label=
"item.DepartmentName"
:value=
"item.DepartmentID"
:key=
"item.DepartmentID"
></el-option>
</el-select>
</span>
</li>
...
...
@@ -112,49 +102,30 @@
<em>
人员
</em>
<el-select
filterable
v-model=
"queryMsg.EnterID"
class
>
<el-option
:value=
"0"
:label=
"$t('pub.unlimitedSel')"
></el-option>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
></el-option>
<el-option
v-for=
"item in EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
出团日期
</em>
<el-date-picker
v-model=
"queryMsg.tStartDates"
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('hotel.hotel_StartDate')"
:end-placeholder=
"$t('hotel.hotel_EndDate')"
value-format=
"yyyy-MM-dd"
:picker-options=
"pickerOptions"
></el-date-picker>
<el-date-picker
v-model=
"queryMsg.tStartDates"
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('hotel.hotel_StartDate')"
:end-placeholder=
"$t('hotel.hotel_EndDate')"
value-format=
"yyyy-MM-dd"
:picker-options=
"pickerOptions"
></el-date-picker>
</span>
</li>
<li>
<span>
<em>
报名日期
</em>
<el-date-picker
v-model=
"queryMsg.qStartDates"
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('hotel.hotel_StartDate')"
:end-placeholder=
"$t('hotel.hotel_EndDate')"
value-format=
"yyyy-MM-dd"
></el-date-picker>
<el-date-picker
v-model=
"queryMsg.qStartDates"
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('hotel.hotel_StartDate')"
:end-placeholder=
"$t('hotel.hotel_EndDate')"
value-format=
"yyyy-MM-dd"
></el-date-picker>
</span>
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('pub.searchBtn')"
@
click
.
stop=
"(msg.pageIndex = 1), (currentPage = 1), GetList()"
/>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('pub.searchBtn')"
@
click
.
stop=
"(msg.pageIndex = 1), (currentPage = 1), GetList()"
/>
</li>
</ul>
</div>
...
...
@@ -168,24 +139,20 @@
<span>
{{
item
.
CurrencyName
}}
</span>
</div>
<p>
<span
>
销售额:
<span>
销售额:
{{
(
item
.
SumPreferPrice
||
0
).
toFixed
(
2
)
}}
</span>
<span
>
收款金额:
<span>
收款金额:
{{
(
item
.
Income
||
0
).
toFixed
(
2
)
}}
</span>
<!--
<span
>
手续费:
{{
item
.
PlatformTax
.
toFixed
(
2
)
}}
</span>
-->
<span
>
未收金额:
<span>
未收金额:
{{
(
item
.
notInCome
||
0
).
toFixed
(
2
)
}}
</span>
<span
>
正常收客数:
<span>
正常收客数:
{{
item
.
TotalGuestNum
}}
</span>
<!--
<span
...
...
@@ -198,36 +165,24 @@
</
template
>
</el-row>
</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>
<div
v-if=
"OrderList && OrderList.length == 0"
style=
"text-align: center; padding: 100px"
>
<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"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"total"
>
<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"
>
</el-pagination>
</div>
</template>
<
script
>
import
OrderList
from
"./OrderList.vue"
;
export
default
{
<
script
>
import
OrderList
from
"./OrderList.vue"
;
export
default
{
props
:
[
"pagesTitle"
,
"dataObj"
],
components
:
{
OrderList
},
components
:
{
OrderList
},
data
()
{
return
{
pickerOptions
:
{
...
...
@@ -327,14 +282,27 @@ export default {
total
:
0
,
currentPage
:
1
,
OrderTypeList
:
[],
OrderStateType
:
[
{
Name
:
"接机"
,
ID
:
"1"
},
{
Name
:
"送机"
,
ID
:
"2"
},
{
Name
:
"包车"
,
ID
:
"3"
},
OrderStateType
:
[{
Name
:
"接机"
,
ID
:
"1"
},
{
Name
:
"送机"
,
ID
:
"2"
},
{
Name
:
"包车"
,
ID
:
"3"
},
],
orderType
:
[
{
Name
:
this
.
$t
(
"OrderList.orderType.tour"
),
ID
:
"1"
},
{
Name
:
this
.
$t
(
"OrderList.orderType.guest"
),
ID
:
"2"
},
orderType
:
[{
Name
:
this
.
$t
(
"OrderList.orderType.tour"
),
ID
:
"1"
},
{
Name
:
this
.
$t
(
"OrderList.orderType.guest"
),
ID
:
"2"
},
],
Datelist
:
""
,
DatelistUse
:
""
,
...
...
@@ -372,11 +340,9 @@ export default {
"admin_get_BranchGetList"
,
this
.
getCompanyMsg
,
(
res
)
=>
{
console
.
log
(
"getCompanyList"
,
res
);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
CompanyList
=
res
.
data
.
data
;
}
else
{
}
}
else
{}
},
(
err
)
=>
{}
);
...
...
@@ -500,29 +466,23 @@ export default {
let
param
=
{
pageIndex
:
this
.
msg
.
pageIndex
,
pageSize
:
15
,
RB_Branch_Id
:
this
.
queryMsg
.
RB_Branch_Id
==
-
1
?
null
:
this
.
queryMsg
.
RB_Branch_Id
,
RB_Department_Id
:
this
.
queryMsg
.
RB_Department_Id
==
0
?
null
:
this
.
queryMsg
.
RB_Department_Id
,
RB_Branch_Id
:
this
.
queryMsg
.
RB_Branch_Id
==
-
1
?
null
:
this
.
queryMsg
.
RB_Branch_Id
,
RB_Department_Id
:
this
.
queryMsg
.
RB_Department_Id
==
0
?
null
:
this
.
queryMsg
.
RB_Department_Id
,
EnterID
:
this
.
queryMsg
.
EnterID
==
0
?
null
:
this
.
queryMsg
.
EnterID
,
QStartDate
:
this
.
queryMsg
.
tStartDates
&&
this
.
queryMsg
.
tStartDates
.
length
==
2
?
this
.
queryMsg
.
tStartDates
[
0
]
:
null
,
QEndDate
:
this
.
queryMsg
.
tStartDates
&&
this
.
queryMsg
.
tStartDates
.
length
==
2
?
this
.
queryMsg
.
tStartDates
[
1
]
:
null
,
CStartDate
:
this
.
queryMsg
.
qStartDates
&&
this
.
queryMsg
.
qStartDates
.
length
==
2
?
this
.
queryMsg
.
qStartDates
[
0
]
:
null
,
CEndDate
:
this
.
queryMsg
.
qStartDates
&&
this
.
queryMsg
.
qStartDates
.
length
==
2
?
this
.
queryMsg
.
qStartDates
[
1
]
:
null
,
QStartDate
:
this
.
queryMsg
.
tStartDates
&&
this
.
queryMsg
.
tStartDates
.
length
==
2
?
this
.
queryMsg
.
tStartDates
[
0
]
:
null
,
QEndDate
:
this
.
queryMsg
.
tStartDates
&&
this
.
queryMsg
.
tStartDates
.
length
==
2
?
this
.
queryMsg
.
tStartDates
[
1
]
:
null
,
CStartDate
:
this
.
queryMsg
.
qStartDates
&&
this
.
queryMsg
.
qStartDates
.
length
==
2
?
this
.
queryMsg
.
qStartDates
[
0
]
:
null
,
CEndDate
:
this
.
queryMsg
.
qStartDates
&&
this
.
queryMsg
.
qStartDates
.
length
==
2
?
this
.
queryMsg
.
qStartDates
[
1
]
:
null
,
GroupBy
:
this
.
queryMsg
.
GroupBy
,
QueryType
:
this
.
queryMsg
.
QueryType
,
};
...
...
@@ -557,7 +517,7 @@ export default {
);
},
getSummaryData
()
{
if
(
this
.
msg
.
pageIndex
!=
1
)
{
if
(
this
.
msg
.
pageIndex
!=
1
)
{
return
}
let
param
=
this
.
getParams
();
...
...
@@ -597,14 +557,14 @@ export default {
}
let
userInfo
=
this
.
getLocalStorage
();
this
.
employeeMsg
.
GroupId
=
userInfo
.
RB_Group_id
;
//集团ID
// this.msg.EnterID = userInfo.EmployeeId;
},
mounted
()
{
this
.
getCompanyMsg
.
RB_Group_Id
=
this
.
getLocalStorage
().
RB_Group_id
;
this
.
getDepartmentMsg
.
RB_Group_Id
=
this
.
getLocalStorage
().
RB_Group_id
;
this
.
employeeMsg
.
employeeMsg
=
this
.
getLocalStorage
().
RB_Group_id
;
const
{
BranchId
=
0
,
EnterID
=
0
,
RB_Department_Id
=
0
,
tStartDates
=
[],
qStartDates
=
[]
}
=
this
.
$route
.
query
;
console
.
log
(
"this.$route.query."
,
this
.
$route
);
const
{
BranchId
=
0
,
EnterID
=
0
,
RB_Department_Id
=
0
,
tStartDates
=
[],
qStartDates
=
[]
}
=
this
.
$route
.
query
;
this
.
queryMsg
.
RB_Branch_Id
=
Number
(
BranchId
);
this
.
queryMsg
.
EnterID
=
Number
(
EnterID
);
this
.
queryMsg
.
RB_Department_Id
=
Number
(
RB_Department_Id
);
...
...
@@ -634,6 +594,6 @@ export default {
this
.
com_onresize
();
};
},
};
</
script
>
};
</
script
>
src/components/rank/salesVolumeRank.vue
View file @
87218662
...
...
@@ -532,7 +532,6 @@ export default {
let
date
=
moment
().
format
(
'yyyy-MM-DD'
)
let
start
=
moment
().
subtract
(
1
,
'months'
).
format
(
'yyyy-MM-DD'
)
this
.
msg
.
tStartDates
=
[
start
,
date
]
console
.
log
(
'settStartDates'
,
date
,
start
)
},
handleClick
(
tab
,
event
)
{
this
.
msg
.
EnterID
=
0
;
...
...
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