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
0a899277
Commit
0a899277
authored
Jul 17, 2025
by
youjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
c97e07c8
6fda55d0
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
403 additions
and
411 deletions
+403
-411
groupTourOrder.vue
src/components/SalesModule/groupTourOrder.vue
+112
-106
groupTourOrderByTuan.vue
src/components/SalesModule/groupTourOrderByTuan.vue
+245
-233
RegistrationList.vue
src/components/TravelManager/TravelList/RegistrationList.vue
+5
-22
order-form2.vue
src/components/orderCommon/order-form2.vue
+41
-50
No files found.
src/components/SalesModule/groupTourOrder.vue
View file @
0a899277
...
...
@@ -768,15 +768,18 @@
.el-input-group__prepend
{
padding
:
0
5px
!important
;
}
.SimulateDrop-box
{
width
:
210px
;
min-height
:
34px
;
position
:
relative
;
padding
:
5px
21px
5px
6px
;
float
:
left
;
/* margin: 4px 0 0 10px; */
border
:
1px
solid
#d1d1d1
;
}
width
:
210px
;
min-height
:
34px
;
max-height
:
68px
;
overflow-y
:
scroll
;
position
:
relative
;
padding
:
5px
21px
5px
6px
;
float
:
left
;
border
:
1px
solid
#d1d1d1
;
}
.SD_flight
{
display
:
inline-block
;
height
:
24px
;
...
...
@@ -785,12 +788,14 @@
line-height
:
22px
;
background-color
:
#f0f2f5
;
}
.SimulaDrop
{
.SimulaDrop
{
position
:
absolute
;
top
:
3
px
;
right
:
10
px
;
top
:
5
px
;
right
:
5
px
;
color
:
#c0c4cc
;
}
._TravelPricePopover
.jiDiv
{
width
:
750px
;
max-height
:
400px
;
...
...
@@ -830,6 +835,7 @@
._TravelPricePopover
table
td
._d_name
{
background-color
:
#ededed
;
}
</
style
>
<
template
>
<div
class=
"flexOne groupts"
style=
"min-width: 1200px"
>
...
...
@@ -1206,50 +1212,44 @@
<el-input
v-model=
"addMsg.FSeatNum"
@
input=
"getNumber()"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.ScenicRefund')"
>
<el-popover
popper-class=
"_TravelPricePopover"
trigger=
"click"
>
<div>
<div
class=
"ScenicDiv"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<!-- <td class="_color_666">{{$t('fnc.xuanze')}}</td> -->
<td
class=
"_color_666"
>
{{$t('visaT.jdname')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.tkjine')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.qxrenshu')}}
</td>
</tr>
<tr
v-for=
"item in ScenicRefundList"
>
<td>
{{item.CouponsName}}
</td>
<td>
-¥{{item.RefundMoney}}
</td>
<td>
<el-input
class=
"w80"
type=
"Number"
:max=
'addMsg.GuestNum'
v-model=
"item.Number"
@
keyup
.
native=
"initScenic()"
></el-input>
<!-- -->
</td>
</tr>
</table>
</div>
</div>
<div
slot=
"reference"
class=
"SimulateDrop-box"
>
<span
class=
"SD_flight"
v-for=
"subItem in addMsg.ScenicList"
>
{{subItem.ScenicName}}*{{subItem.Number}}
</span>
<i
class=
"iconfont icon-arrow-down SimulaDrop"
></i>
</div>
</el-popover>
</el-form-item>
<!-- <el-form-item :label="$t('salesModule.ScenicRefund')">
<el-select filterable multiple class="multiple_input" v-model="addMsg.ScenicRefundArr"
:placeholder="$t('pub.pleaseSel')" @change="ScenicRefundMethods">
<el-option v-for="item in ScenicRefundList" :label="item.ScenicName" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</el-form-item> -->
<el-form-item
:label=
"$t('salesModule.ScenicRefund')"
>
<el-popover
popper-class=
"_TravelPricePopover"
trigger=
"click"
>
<div>
<div
class=
"ScenicDiv"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
class=
"_color_666"
>
{{$t('visaT.jdname')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.tkjine')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.qxrenshu')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.tkjine')}}
</td>
</tr>
<tr
v-for=
"item in ScenicRefundList"
>
<td>
{{item.CouponsName}}
</td>
<td>
-¥{{item.RefundMoney}}
</td>
<td>
<el-input
class=
"w80"
type=
"Number"
:max=
'addMsg.GuestNum'
v-model=
"item.Number"
@
keyup
.
native=
"initScenic()"
></el-input>
</td>
<td>
-{{item.Number*item.RefundMoney}}
</td>
</tr>
</table>
</div>
</div>
<div
slot=
"reference"
class=
"SimulateDrop-box"
>
<span
class=
"SD_flight"
v-for=
"subItem in addMsg.ScenicList"
>
{{subItem.ScenicName}}
</span>
<i
class=
"iconfont icon-arrow-down SimulaDrop"
></i>
</div>
</el-popover>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
</el-col>
<el-col
:span=
"4"
>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
>
...
...
@@ -1889,7 +1889,7 @@
</td>
<td>
<p
class=
"fz12"
v-if=
"item.customerType==3||item.customerType==4"
>
{{item.clientSourceName}}
{{item.clientSourceName}}
</p>
<p
class=
"fz12 over_ellipsis"
style=
"width: 120px"
:title=
"item.contactName"
>
{{ item.contactName }}
...
...
@@ -2364,18 +2364,21 @@
</span>
</template>
</div>
<div
v-if=
"item.orderBackScenicList!=null&&item.orderBackScenicList.length>0 "
style=
"width: 101%;border-top: 1px solid #cccccc;margin-top: 5px"
>
<div
v-if=
"item.orderBackScenicList!=null&&item.orderBackScenicList.length>0 "
style=
"width: 101%;border-top: 1px solid #cccccc;margin-top: 5px"
>
<span
style=
"color:red;margin-top: 10px;display: inline-block"
>
{{$t('ground.tuiJingdian')}}:
</span>
<span
v-for=
"childItem in item.orderBackScenicList"
>
<span
style=
"color:green;"
>
{{ childItem.couponsName }}
</span>
退票
<span
style=
"color:red;"
>
{{childItem.number}}
</span>
人:
<span
style=
"color: blue"
>
{{childItem.guestNameList}}
</span>
<span
v-for=
"childItem in item.orderBackScenicList"
>
<span
style=
"color:green;"
>
{{ childItem.couponsName }}
</span>
退票
<span
style=
"color:red;"
>
{{childItem.number}}
</span>
人:
<span
style=
"color: blue"
>
{{childItem.guestNameList}}
</span>
</span>
</div>
</td>
</tr>
<tr>
<td
colspan=
"5"
>
<div
class=
"groupTourOrder_remarks"
>
...
...
@@ -2811,7 +2814,7 @@
RefuseVisaNum
:
"0"
,
//拒签数量
AirticketNum
:
"0"
,
ScenicRefundArr
:
[],
ScenicList
:
[],
//2025-07-14 add bY:W
ScenicList
:
[],
//2025-07-14 add bY:W
GoCityTime
:
""
,
BackCityTime
:
""
,
CommissionSharePeople
:
"-1"
,
...
...
@@ -3739,7 +3742,7 @@
},
});
},
ScenicRefundMethods_V2
()
{
ScenicRefundMethods_V2
()
{
if
(
this
.
addMsg
.
ScenicRefundArr
.
length
==
0
)
{
this
.
ScenicRefundMoney
=
0
;
}
else
{
...
...
@@ -3757,19 +3760,18 @@
this
.
getTotalPrice
();
this
.
getTicheng
();
},
//初始化景点
//初始化景点
initScenic
()
{
this
.
addMsg
.
ScenicList
=
[];
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
this
.
ScenicRefundList
.
forEach
(
x
=>
{
if
(
/^
\d
+$/
.
test
(
x
.
Number
)
&&
x
.
Number
>
0
&&
x
.
Number
<=
totalGuest
)
{
if
(
/^
\d
+$/
.
test
(
x
.
Number
)
&&
x
.
Number
>
0
&&
x
.
Number
<=
totalGuest
)
{
this
.
addMsg
.
ScenicList
.
push
(
x
);
}
else
{
x
.
Number
=
0
;
}
else
{
x
.
Number
=
0
;
}
})
this
.
getTotalPrice
();
this
.
getTotalPrice
();
this
.
getTicheng
();
},
ScenicRefundMethods
()
{
...
...
@@ -3778,13 +3780,13 @@
}
else
{
this
.
ScenicRefundMoney
=
0
;
this
.
addMsg
.
ScenicRefundArr
.
forEach
((
x
)
=>
{
var
index
=
this
.
ScenicRefundList
.
findIndex
(
item
=>
item
.
Id
===
x
.
Id
);
if
(
index
!=-
1
)
{
var
nowModel
=
this
.
ScenicRefundList
[
index
];
nowModel
.
Number
=
x
.
Number
;
}
var
index
=
this
.
ScenicRefundList
.
findIndex
(
item
=>
item
.
Id
===
x
.
Id
);
if
(
index
!=
-
1
)
{
var
nowModel
=
this
.
ScenicRefundList
[
index
];
nowModel
.
Number
=
x
.
Number
;
}
});
this
.
$forceUpdate
()
this
.
$forceUpdate
()
}
this
.
initScenic
();
},
...
...
@@ -3900,7 +3902,7 @@
this
.
apipost
(
"sellorder_post_GetOrderEntity"
,
{
ID
:
obj
.
orderId
,
IsDealDiscount
:
1
IsDealDiscount
:
1
},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -3913,7 +3915,7 @@
this
.
addObj
.
OpSetLossMoney
=
x
.
OpSetLossMoney
;
this
.
addMsg
=
x
;
this
.
DealDiscountMoney
=
this
.
addMsg
.
DiscountMoney
+
this
.
addMsg
.
RedEnvelopeMoney
;
this
.
DealDiscountMoney
=
this
.
addMsg
.
DiscountMoney
+
this
.
addMsg
.
RedEnvelopeMoney
;
this
.
LessNPrice
=
this
.
addMsg
.
LessMaxPrice
;
//先初始化 最高少价
this
.
LessNAvgPrice
=
this
.
addMsg
.
LessMaxAvgPrice
;
if
(
this
.
addMsg
.
IsLessPrice
==
1
)
{
...
...
@@ -4383,15 +4385,17 @@
dandijie
=
this
.
addObj
.
SingleDMCPrice
*
Number
(
this
.
addMsg
.
AirticketNum
);
}
//退景点费用
var
refundScenicPrice
=
0
;
if
(
this
.
addMsg
.
ScenicList
!=
null
&&
this
.
addMsg
.
ScenicList
.
length
>
0
){
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
this
.
addMsg
.
ScenicList
.
forEach
(
item
=>
{
if
(
totalGuest
>=
item
.
Number
){
refundScenicPrice
+=
item
.
Number
*
item
.
RefundMoney
;}
});
}
//退景点费用
var
refundScenicPrice
=
0
;
if
(
this
.
addMsg
.
ScenicList
!=
null
&&
this
.
addMsg
.
ScenicList
.
length
>
0
)
{
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
this
.
addMsg
.
ScenicList
.
forEach
(
item
=>
{
if
(
totalGuest
>=
item
.
Number
)
{
refundScenicPrice
+=
item
.
Number
*
item
.
RefundMoney
;
}
});
}
this
.
addMsg
.
PreferPrice
=
dandijie
+
lianyun
+
...
...
@@ -4401,11 +4405,11 @@
laoren
+
zafeiqianzhen
+
danfang
+
ertongbed
-
refundScenicPrice
;
// this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum));
ertongbed
-
refundScenicPrice
;
// this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum));
//ld 2025-01-22 少价管理
if
(
this
.
addMsg
.
IsLessPrice
==
1
&&
this
.
addMsg
.
GroupType
==
1
&&
(
this
.
addMsg
.
CustomerType
==
'1'
||
this
...
...
@@ -4489,15 +4493,17 @@
dandijie
=
this
.
addObj
.
SingleDMCPrice
*
Number
(
this
.
addMsg
.
AirticketNum
);
}
//退景点费用
var
refundScenicPrice
=
0
;
if
(
this
.
addMsg
.
ScenicList
!=
null
&&
this
.
addMsg
.
ScenicList
.
length
>
0
){
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
this
.
addMsg
.
ScenicList
.
forEach
(
item
=>
{
if
(
totalGuest
>=
item
.
Number
){
refundScenicPrice
+=
item
.
Number
*
item
.
RefundMoney
;}
});
}
//退景点费用
var
refundScenicPrice
=
0
;
if
(
this
.
addMsg
.
ScenicList
!=
null
&&
this
.
addMsg
.
ScenicList
.
length
>
0
)
{
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
this
.
addMsg
.
ScenicList
.
forEach
(
item
=>
{
if
(
totalGuest
>=
item
.
Number
)
{
refundScenicPrice
+=
item
.
Number
*
item
.
RefundMoney
;
}
});
}
this
.
addMsg
.
PreferPrice
=
dandijie
+
lianyun
+
...
...
@@ -4507,11 +4513,11 @@
laoren
+
zafeiqianzhen
+
danfang
+
ertongbed
-
refundScenicPrice
;
// this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum));
ertongbed
-
refundScenicPrice
;
// this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum));
//ld 2025-01-22 少价管理
if
(
this
.
addMsg
.
IsLessPrice
==
1
&&
this
.
addMsg
.
GroupType
==
1
&&
(
this
.
addMsg
.
CustomerType
==
'1'
||
this
...
...
@@ -4690,7 +4696,7 @@
this
.
addMsg
.
CostType
=
""
;
this
.
addMsg
.
PlatformOrder
=
""
;
this
.
ddlyList
=
[];
this
.
addMsg
.
ScenicList
=
[];
this
.
addMsg
.
ScenicList
=
[];
this
.
addMsg
.
Remarks
=
""
;
this
.
addMsg
.
MinOrderPrice
=
""
;
this
.
addMsg
.
VisaNum
=
"0"
;
...
...
@@ -4793,7 +4799,7 @@
this
.
addMsg
.
IsChildrenTour
=
this
.
IsChildrenTour
;
this
.
addMsg
.
IsBirdDiscount
=
this
.
addObj
.
IsBirdDiscount
;
this
.
addMsg
.
IsDealDiscount
=
1
;
this
.
addMsg
.
ScenicRefundArr
=
[];
this
.
addMsg
.
ScenicRefundArr
=
[];
this
.
apipost
(
"sellorder_post_SetOrderInfo_02"
,
this
.
addMsg
,
...
...
src/components/SalesModule/groupTourOrderByTuan.vue
View file @
0a899277
...
...
@@ -821,8 +821,10 @@
}
.groupts
.SimulateDrop-box
{
width
:
2
3
0px
;
width
:
2
2
0px
;
min-height
:
34px
;
max-height
:
68px
;
overflow-y
:
scroll
;
position
:
relative
;
padding
:
5px
21px
5px
6px
;
float
:
left
;
...
...
@@ -832,7 +834,7 @@
.groupts
.GO_SimulaDrop
{
position
:
absolute
;
right
:
10
px
;
right
:
5
px
;
top
:
5px
;
color
:
#d1d1d1
;
}
...
...
@@ -842,7 +844,7 @@
height
:
24px
;
margin
:
0
3px
3px
0
;
overflow
:
hidden
;
max-width
:
200
px
;
max-width
:
184
px
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
font-size
:
12px
;
...
...
@@ -875,9 +877,11 @@
width
:
200px
;
}
.el-input-group__append
,
.el-input-group__prepend
{
.el-input-group__append
,
.el-input-group__prepend
{
padding
:
0
5px
!important
;
}
</
style
>
<
template
>
...
...
@@ -1287,9 +1291,10 @@
</el-col>
<el-col
:span=
"4"
v-if=
"addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1"
>
<el-form-item
label=
"少价/人"
prop=
"LessAvgPrice"
>
<el-input
type=
"Number"
v-model=
"addMsg.LessAvgPrice"
@
change=
"ValidateLess2"
><
template
slot=
"append"
>
最高
{{
LessNAvgPrice
}}
/人
</
template
></el-input>
<el-input
type=
"Number"
v-model=
"addMsg.LessAvgPrice"
@
change=
"ValidateLess2"
><
template
slot=
"append"
>
最高
{{
LessNAvgPrice
}}
/人
</
template
></el-input>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"4"
>
<p
v-if=
"IsChildrenTour == 2"
style=
"
color: #e95252;
...
...
@@ -1446,9 +1451,10 @@
</el-col>
<el-col
:span=
"4"
v-if=
"addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1"
>
<el-form-item
:label=
"$t('objFill.v101.shaojiazonge')"
prop=
"LessPrice"
>
<el-input
type=
"Number"
v-model=
"addMsg.LessPrice"
@
change=
"ValidateLess"
><
template
slot=
"append"
>
最高少价
{{
LessNPrice
}}
</
template
></el-input>
<el-input
type=
"Number"
v-model=
"addMsg.LessPrice"
@
change=
"ValidateLess"
><
template
slot=
"append"
>
最高少价
{{
LessNPrice
}}
</
template
></el-input>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.YJTC')"
prop=
"Commission"
>
<el-input
v-model=
"addMsg.Commission"
:disabled=
"true"
></el-input>
...
...
@@ -1501,79 +1507,40 @@
<span
class=
"GO_Title"
>
{{$t('salesModule.ScenicRefund')}}
</span>
</div>
<div
class=
"GO_TPright clearfix"
>
<el-popover
popper-class=
"_TravelPricePopover"
trigger=
"click"
>
<div>
<div
class=
"ScenicDiv"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<!-- <td class="_color_666">{{$t('fnc.xuanze')}}</td> -->
<td
class=
"_color_666"
>
{{$t('visaT.jdname')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.tkjine')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.qxrenshu')}}
</td>
</tr>
<tr
v-for=
"item in ScenicRefundList"
>
<td>
{{item.CouponsName}}
</td>
<td>
-¥{{item.RefundMoney}}
</td>
<td>
<el-input
class=
"w80"
type=
"Number"
:max=
'addMsg.GuestNum'
v-model=
"item.Number"
@
keyup
.
native=
"initScenic()"
></el-input>
<!-- -->
</td>
</tr>
</table>
</div>
</div>
<div
slot=
"reference"
class=
"SimulateDrop-box"
>
<span
class=
"SD_flight"
v-for=
"subItem in addMsg.ScenicList"
>
{{subItem.ScenicName}}*{{subItem.Number}}
</span>
<i
class=
"iconfont icon-arrow-down SimulaDrop"
></i>
</div>
</el-popover>
<!-- <el-popover popper-class="_TravelPricePopover" trigger="click">
<el-popover
popper-class=
"_TravelPricePopover"
trigger=
"click"
>
<div>
<div class="
GO
ScenicDiv">
<div
class=
"ScenicDiv"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td class="_color_666">{{$t('objFill.v101.traveltrip.xuanzhe')}}</td>
<td
class=
"_color_666"
>
{{$t('visaT.jdname')}}
</td>
<td class="_color_666">{{$t('
op.opszj
e')}}</td>
<td class="_color_666">{{$t('
admin.admin_personNumber
')}}</td>
<td
class=
"_color_666"
>
{{$t('
fnc.tkjin
e')}}
</td>
<td
class=
"_color_666"
>
{{$t('
fnc.qxrenshu
')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.tkjine')}}
</td>
</tr>
<tr
v-for=
"item in ScenicRefundList"
>
<td>
<el-checkbox :checked="item.IsChecked" @change="getGOScenic(item)"></el-checkbox>
{{item.CouponsName}}
</td>
<td>
{{ item.CouponsName
}}
-¥{{item.RefundMoney
}}
</td>
<td>
{{ item.RefundMoney }}
<el-input
class=
"w80"
type=
"Number"
:max=
'addMsg.GuestNum'
v-model=
"item.Number"
@
keyup
.
native=
"initScenic()"
></el-input>
</td>
<el-input class="w80" type="Number" :max='addMsg.GuestNum' v-model="item.Number" @keyup.native="initScenic()"></el-input>
<td>
<el-input class="w80" @keyup.native="
checkInteger(item, 'Number'), CheckNum(item)
" @change="getGOScenictWO" v-model="item.Number"></el-input>
</td>
<td>
<el-input class="w80" @keyup.native="checkPrice(item, 'BackMoney')" @change="getGOScenictWO"
v-model="item.BackMoney"></el-input>
-{{item.Number*item.RefundMoney}}
</td>
</tr>
</table>
</div>
</div>
<div
slot=
"reference"
class=
"SimulateDrop-box"
>
<span class="SD_flight" v-for="subItem in SciencNameList">{{
subItem
}}</span>
<span
class=
"SD_flight"
v-for=
"subItem in addMsg.ScenicList"
>
{{subItem.ScenicName}}*{{subItem.Number}}
</span>
<i
class=
"iconfont icon-arrow-down GO_SimulaDrop"
></i>
</div>
</el-popover>
-->
</el-popover>
</div>
</div>
</el-col>
...
...
@@ -2044,7 +2011,8 @@
<span
v-else
>
******
</span>
</el-popover>
</td>
<td
style=
"color: #ff9c00"
><span>
{{ item.preferTipAmount?moneyFormatN(item.preferTipAmount):'0' }}
</span></td>
<td
style=
"color: #ff9c00"
><span>
{{ item.preferTipAmount?moneyFormatN(item.preferTipAmount):'0' }}
</span>
</td>
<!-- 优惠 -->
<td>
<el-popover
style=
"padding: 0"
width=
"600"
trigger=
"click"
>
...
...
@@ -2129,19 +2097,23 @@
<span
v-else
>
******
</span>
</td>
<td>
<span
v-if=
"item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder"
>
{{ moneyFormatN(item.refund) }}
</span>
<span
v-if=
"item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder"
>
{{ moneyFormatN(item.refund) }}
</span>
<span
v-else
>
******
</span>
</td>
<td>
<span
v-if=
"item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder"
>
{{ moneyFormatN(item.platformTax) }}
</span>
<span
v-if=
"item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder"
>
{{ moneyFormatN(item.platformTax) }}
</span>
<span
v-else
>
******
</span>
</td>
<td>
<span
v-if=
"item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder"
>
{{ moneyFormatN(item.zaiTuMoney) }}
</span>
<span
v-if=
"item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder"
>
{{ moneyFormatN(item.zaiTuMoney) }}
</span>
<span
v-else
>
******
</span>
</td>
<td>
<span
v-if=
"item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder"
>
{{ moneyFormatN(item.cashReceiptsMoney) }}
</span>
<span
v-if=
"item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder"
>
{{ moneyFormatN(item.cashReceiptsMoney) }}
</span>
<span
v-else
>
******
</span>
</td>
<td>
...
...
@@ -2404,7 +2376,9 @@
"
>
<span
v-for=
"childItem in item.guestList"
style=
"color: blue"
>
{{childItem.userName}}
<span
:style=
"childItem.isBed==1?'color:#d332e5':'color:#67c23a' "
>
({{childItem.isBed==1?$t('op.TakeBed'):$t('op.NoneedBed')}})
</span>
<span
:style=
"childItem.isBed==1?'color:#d332e5':'color:#67c23a' "
>
({{childItem.isBed==1?$t('op.TakeBed'):$t('op.NoneedBed')}})
</span>
<span
style=
"color:#f56c6c"
>
{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}
</span>
<span
style=
"color:#f56c6c"
>
{{childItem.ticketOutTypeStr}}
</span>
<span
style=
"cursor:pointer;"
...
...
@@ -2412,20 +2386,24 @@
<span
v-if=
"item.isShowDisclaimer==1&&( isShow===index||childItem.disclaimerId>0)"
style=
"cursor:pointer;"
@
click=
"goDisclaimer(item,childItem)"
>
{{childItem.disclaimerId>0?$t('objFill.chakanctmzclh'):$t('objFill.qiandinctmzclh')}}
</span>
<span
v-if=
"childItem.isApplyPhoto == 1"
style=
"color: red"
>
({{$t('salesModule.Zhao')}})
</span>
</span>
<span
v-if=
"item.photoNum > 0"
>
({{$t('salesModule.NoPhoto')}} {{ item.photoNum }}{{$t('salesModule.Fen')}})
</span>
<span
v-if=
"childItem.isApplyPhoto == 1"
style=
"color: red"
>
({{$t('salesModule.Zhao')}})
</span>
</span>
<span
v-if=
"item.photoNum > 0"
>
({{$t('salesModule.NoPhoto')}}
{{ item.photoNum }}{{$t('salesModule.Fen')}})
</span>
</span>
<p
v-if=
"item.cancelGuestList && item.cancelGuestList.length > 0"
>
<span
class=
""
>
{{$t('salesModule.CancelOrder')}}:
</span>
<span
class=
"RL-redType RL-remarkCon"
>
<span
style=
"color: red"
n
v-for=
"(childItem, childIndex) in item.cancelGuestList"
:key=
"childIndex+150000"
>
{{ childItem.userName }}
<span
style=
"color:#f56c6c"
>
{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}
</span>
</span>
style=
"color:#f56c6c"
>
{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}
</span>
</span>
</span>
</p>
<span
style=
"display: block"
>
{{$t('salesModule.RoomInfo')}}
<span
v-if=
"item.oneSex > 0"
style=
"color: #e95252"
>
({{ item.oneSex == 1 ?$t('objFill.dannan') : $t('objFill.dannv') }})
</span><span
v-if=
"item.chirdNoNeedBedNum > 0"
style=
"color: #e95252"
>
({{$t('Operation.Op_childNobed')}}{{ item.chirdNoNeedBedNum }}{{$t('hotel.hotel_people')}})
</span>
:
style=
"color: #e95252"
>
({{ item.oneSex == 1 ?$t('objFill.dannan') : $t('objFill.dannv') }})
</span><span
v-if=
"item.chirdNoNeedBedNum > 0"
style=
"color: #e95252"
>
({{$t('Operation.Op_childNobed')}}{{ item.chirdNoNeedBedNum }}{{$t('hotel.hotel_people')}})
</span>
:
{{ item.orderGuestHouseStr }}
<!-- <el-popover trigger="click" popper-class="KT_Scenic">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
...
...
@@ -2487,14 +2465,17 @@
</template>
</div>
</div>
<div
v-if=
"item.orderBackScenicList!=null&&item.orderBackScenicList.length>0 "
style=
"width: 101%;border-top: 1px solid #cccccc;margin-top: 5px"
>
<span
style=
"color:red;margin-top: 10px;display: inline-block"
>
{{$t('ground.tuiJingdian')}}:
</span>
<span
v-for=
"childItem in item.orderBackScenicList"
>
<span
style=
"color:green;"
>
{{ childItem.couponsName }}
</span>
退票
<span
style=
"color:red;"
>
{{childItem.number}}
</span>
人:
<span
style=
"color: blue"
>
{{childItem.guestNameList}}
</span>
</span>
<div
v-if=
"item.orderBackScenicList!=null&&item.orderBackScenicList.length>0 "
style=
"width: 101%;border-top: 1px solid #cccccc;margin-top: 5px"
>
<span
style=
"color:red;margin-top: 10px;display: inline-block"
>
{{$t('ground.tuiJingdian')}}:
</span>
<span
v-for=
"childItem in item.orderBackScenicList"
>
<span
style=
"color:green;"
>
{{ childItem.couponsName }}
</span>
退票
<span
style=
"color:red;"
>
{{childItem.number}}
</span>
人:
<span
style=
"color: blue"
>
{{childItem.guestNameList}}
</span>
</span>
</div>
</div>
</td>
</tr>
<tr>
...
...
@@ -2604,19 +2585,22 @@
<div
v-if=
"item.changePriceId>0&&(item.isOwn == 1 || IsSupperOrderEdit ||IsLookOrder || isUpdateOrder)"
style=
" overflow:hidden;margin-top:10px;"
>
<span
style=
"color:red;"
>
{{$t('objFill.gaijiashenq')}}:
</span>
<span>
{{item.changePriceTime}} {{$t('objFill.shengqingje')}}【
<span
<span
style=
"color:red;"
>
{{$t('objFill.gaijiashenq')}}:
</span>
<span>
{{item.changePriceTime}}
{{$t('objFill.shengqingje')}}【
<span
style=
"color:red;"
>
{{moneyFormatN(item.changePriceMoney)}}
</span>
{{$t('hotel.hotel_yuan')}}】{{item.changePriceReason}}
</span>
<div
style=
"text-align:right;"
v-if=
"item.changePriceState==1"
>
{{$t('objFill.dai')}}{{item.ChangePriceType=="2"?"OP":$t('fnc.zhuguan')}}{{item.managerExamineName}}{{$t('fnc.shenhe')}}
</div>
<div
style=
"text-align:right;"
v-if=
"item.changePriceState==2"
>
{{$t('objFill.dai')}}{{item.ChangePriceType=="2"?$t('objFill.kuaiji'):$t('visa.v_zongjingli')}}{{item.examineByName}}{{$t('fnc.shenhe')}}
</div>
<div
style=
"text-align:right;"
v-if=
"item.changePriceState==4"
>
{{$t('objFill.yibohui')}}
</div>
<div
style=
"text-align:right;"
v-if=
"item.changePriceState==3"
>
{{$t('fnc.ytongguo')}}
</div>
<div
style=
"text-align:right;"
v-if=
"item.changePriceState==1"
>
{{$t('objFill.dai')}}{{item.ChangePriceType=="2"?"OP":$t('fnc.zhuguan')}}{{item.managerExamineName}}{{$t('fnc.shenhe')}}
</div>
<div
style=
"text-align:right;"
v-if=
"item.changePriceState==2"
>
{{$t('objFill.dai')}}{{item.ChangePriceType=="2"?$t('objFill.kuaiji'):$t('visa.v_zongjingli')}}{{item.examineByName}}{{$t('fnc.shenhe')}}
</div>
<div
style=
"text-align:right;"
v-if=
"item.changePriceState==4"
>
{{$t('objFill.yibohui')}}
</div>
<div
style=
"text-align:right;"
v-if=
"item.changePriceState==3"
>
{{$t('fnc.ytongguo')}}
</div>
</div>
</div>
</td>
...
...
@@ -3023,11 +3007,13 @@
<span
class=
"RL-redType RL-remarkCon"
>
<span
style=
"color: red"
v-for=
"(childItem, childIndex) in item.cancelGuestList"
:key=
"childIndex+260000"
>
{{ childItem.userName }}
<span
style=
"color:#f56c6c"
>
{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}
</span>
</span>
style=
"color:#f56c6c"
>
{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}
</span>
</span>
</span>
</p>
<span
style=
"display: block"
>
{{$t('salesModule.RoomInfo')}}
<span
v-if=
"item.oneSex > 0"
style=
"color: #e95252"
>
({{ item.oneSex == 1 ?$t('objFill.dannan') : $t('objFill.dannv') }})
</span><span
v-if=
"item.chirdNoNeedBedNum > 0"
style=
"color: #e95252"
>
({{ item.oneSex == 1 ?$t('objFill.dannan') : $t('objFill.dannv') }})
</span><span
v-if=
"item.chirdNoNeedBedNum > 0"
style=
"color: #e95252"
>
({{$t('Operation.Op_childNobed')}}{{ item.chirdNoNeedBedNum }}{{$t('hotel.hotel_people')}})
</span>
:{{ item.orderGuestHouseStr }}
</span>
<span
v-if=
"item.tipMoney"
style=
"color: red"
>
({{$t('fnc.xiaofei')}}:{{ item.tipMoney }})
</span>
</td>
...
...
@@ -3331,14 +3317,15 @@
</button>
</div>
</el-dialog>
<el-dialog
width=
"350px"
:title=
"$t('objFill.bianjixiaofei')"
:visible
.
sync=
"isShowTip"
center
:before-close=
"closeChangeMachie"
>
<el-dialog
width=
"350px"
:title=
"$t('objFill.bianjixiaofei')"
:visible
.
sync=
"isShowTip"
center
:before-close=
"closeChangeMachie"
>
<EditTip
:TipObj=
"TipObj"
@
close=
"isShowTip=false"
@
success=
"isShowTip=false,getList()"
></EditTip>
</el-dialog>
<!-- 修改备注 -->
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-show=
"isShowLayerRemarks"
style=
"height:150px;min-height:150px"
>
<orderRemark
v-if=
"isShowLayerRemarks"
:remarksMsg=
"remarksMsg"
@
close=
"closeDialog"
@
success=
"refreshPage"
>
</orderRemark>
</div>
...
...
@@ -3503,7 +3490,7 @@
RefuseVisaNum
:
"0"
,
AirticketNum
:
"0"
,
ScenicRefundArr
:
[],
ScenicList
:[],
ScenicList
:
[],
//景点新数组
OrderBackScenicList
:
[],
GoCityTime
:
""
,
...
...
@@ -3512,9 +3499,9 @@
CommissionShareMoney
:
"0"
,
OneSex
:
0
,
QuotationUrl
:
""
,
//单团附件
LessPrice
:
"0"
,
LessAvgPrice
:
"0"
,
IsLessPrice
:
"0"
LessPrice
:
"0"
,
LessAvgPrice
:
"0"
,
IsLessPrice
:
"0"
},
uploadLloading
:
false
,
fileFujianList
:
[],
...
...
@@ -3742,10 +3729,10 @@
SQcheckdAll
:
true
,
SQPhotoNum
:
""
,
SQOrderId
:
""
,
LessRule
:[],
LessNPrice
:
0
,
LessNAvgPrice
:
0
,
DealDiscountMoney
:
0
LessRule
:
[],
LessNPrice
:
0
,
LessNAvgPrice
:
0
,
DealDiscountMoney
:
0
};
},
components
:
{
...
...
@@ -4470,37 +4457,36 @@
//初始化景点
initScenic
()
{
this
.
addMsg
.
ScenicList
=
[];
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
this
.
ScenicRefundList
.
forEach
(
x
=>
{
if
(
/^
\d
+$/
.
test
(
x
.
Number
)
&&
x
.
Number
>
0
&&
x
.
Number
<=
totalGuest
)
{
if
(
/^
\d
+$/
.
test
(
x
.
Number
)
&&
x
.
Number
>
0
&&
x
.
Number
<=
totalGuest
)
{
this
.
addMsg
.
ScenicList
.
push
(
x
);
}
else
{
x
.
Number
=
0
;
}
else
{
x
.
Number
=
0
;
}
})
console
.
log
(
"addMsg.ScenicList"
,
this
.
addMsg
.
ScenicList
);
this
.
getTotalPrice
();
console
.
log
(
"addMsg.ScenicList"
,
this
.
addMsg
.
ScenicList
);
this
.
getTotalPrice
();
this
.
getTicheng
();
},
ScenicRefundMethods
()
{
ScenicRefundMethods
()
{
if
(
this
.
addMsg
.
ScenicRefundArr
.
length
==
0
)
{
this
.
ScenicRefundMoney
=
0
;
}
else
{
this
.
ScenicRefundMoney
=
0
;
this
.
addMsg
.
ScenicRefundArr
.
forEach
((
x
)
=>
{
var
index
=
this
.
ScenicRefundList
.
findIndex
(
item
=>
item
.
Id
===
x
.
Id
);
if
(
index
!=-
1
)
{
var
nowModel
=
this
.
ScenicRefundList
[
index
];
nowModel
.
Number
=
x
.
Number
;
}
var
index
=
this
.
ScenicRefundList
.
findIndex
(
item
=>
item
.
Id
===
x
.
Id
);
if
(
index
!=
-
1
)
{
var
nowModel
=
this
.
ScenicRefundList
[
index
];
nowModel
.
Number
=
x
.
Number
;
}
});
this
.
$forceUpdate
()
this
.
$forceUpdate
()
}
this
.
initScenic
();
},
getScenicRefund
(
TCID
,
OrderId
)
{
getScenicRefund
(
TCID
,
OrderId
)
{
this
.
OrderId
=
OrderId
;
let
msg
=
{
TCID
:
TCID
,
...
...
@@ -4511,7 +4497,7 @@
msg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ScenicRefundList
=
res
.
data
.
data
;
this
.
ScenicRefundList
=
res
.
data
.
data
;
this
.
ScenicRefundList
.
forEach
((
item
)
=>
{
item
[
"ScenicName"
]
=
item
.
CouponsName
+
" -¥"
+
this
.
moneyFormat
(
item
.
RefundMoney
);
...
...
@@ -4652,7 +4638,7 @@
this
.
apipost
(
"sellorder_post_GetOrderEntity"
,
{
ID
:
obj
.
orderId
,
IsDealDiscount
:
1
IsDealDiscount
:
1
},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -4661,10 +4647,10 @@
let
modelPrice
=
res
.
data
.
data
.
modelPrice
;
this
.
addMsg
=
x
;
this
.
DealDiscountMoney
=
this
.
addMsg
.
DiscountMoney
+
this
.
addMsg
.
RedEnvelopeMoney
;
this
.
LessNPrice
=
this
.
addMsg
.
LessMaxPrice
;
//先初始化 最高少价
this
.
DealDiscountMoney
=
this
.
addMsg
.
DiscountMoney
+
this
.
addMsg
.
RedEnvelopeMoney
;
this
.
LessNPrice
=
this
.
addMsg
.
LessMaxPrice
;
//先初始化 最高少价
this
.
LessNAvgPrice
=
this
.
addMsg
.
LessMaxAvgPrice
;
if
(
this
.
addMsg
.
IsLessPrice
==
1
)
{
if
(
this
.
addMsg
.
IsLessPrice
==
1
)
{
this
.
getLessRuleList
();
}
if
(
x
.
QuotationUrl
)
{
...
...
@@ -4932,7 +4918,7 @@
this
.
remarksMsg
.
UnionRemark
=
obj
.
unionRemark
;
this
.
remarksMsg
.
IsIntermodal
=
obj
.
isIntermodal
;
this
.
remarksMsg
.
TeamType
=
obj
.
teamType
;
this
.
remarksMsg
.
isOrder
=
obj
.
isOrder
;
this
.
remarksMsg
.
isOrder
=
obj
.
isOrder
;
this
.
isShowLayerRemarks
=
true
;
}
},
...
...
@@ -5167,15 +5153,17 @@
dandijie
=
this
.
addObj
.
SingleDMCPrice
*
Number
(
this
.
addMsg
.
AirticketNum
);
}
//退景点费用
var
refundScenicPrice
=
0
;
if
(
this
.
addMsg
.
ScenicList
!=
null
&&
this
.
addMsg
.
ScenicList
.
length
>
0
){
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
this
.
addMsg
.
ScenicList
.
forEach
(
item
=>
{
if
(
totalGuest
>=
item
.
Number
){
refundScenicPrice
+=
item
.
Number
*
item
.
RefundMoney
;}
});
}
//退景点费用
var
refundScenicPrice
=
0
;
if
(
this
.
addMsg
.
ScenicList
!=
null
&&
this
.
addMsg
.
ScenicList
.
length
>
0
)
{
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
this
.
addMsg
.
ScenicList
.
forEach
(
item
=>
{
if
(
totalGuest
>=
item
.
Number
)
{
refundScenicPrice
+=
item
.
Number
*
item
.
RefundMoney
;
}
});
}
this
.
addMsg
.
PreferPrice
=
this
.
OpSetLossMoney
+
dandijie
+
...
...
@@ -5186,31 +5174,40 @@
laoren
+
zafeiqianzhen
+
danfang
+
ertongbed
-
refundScenicPrice
;
// this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum));
//ld 2025-01-22 少价管理
if
(
this
.
addMsg
.
IsLessPrice
==
1
&&
this
.
addMsg
.
GroupType
==
1
&&
(
this
.
addMsg
.
CustomerType
==
'1'
||
this
.
addMsg
.
CustomerType
==
'2'
)
&&
this
.
addMsg
.
LineId
>
0
&&
this
.
LessRule
&&
this
.
LessRule
.
length
>
0
){
ertongbed
-
refundScenicPrice
;
// this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum));
//ld 2025-01-22 少价管理
if
(
this
.
addMsg
.
IsLessPrice
==
1
&&
this
.
addMsg
.
GroupType
==
1
&&
(
this
.
addMsg
.
CustomerType
==
'1'
||
this
.
addMsg
.
CustomerType
==
'2'
)
&&
this
.
addMsg
.
LineId
>
0
&&
this
.
LessRule
&&
this
.
LessRule
.
length
>
0
)
{
let
LessNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
));
let
LessSlinge
=
0
;
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
));
let
LessSlinge
=
0
;
// 首先抓取 人数对应的 少价金额
this
.
LessRule
.
forEach
((
ritem
)
=>
{
if
(
ritem
.
LineIdList
.
includes
(
this
.
addMsg
.
LineId
)){
// 使用这个规则
ritem
.
RuleList
.
forEach
((
qitem
)
=>
{
if
(
qitem
.
StartValue
<=
LessNum
){
LessSlinge
=
Number
(
qitem
.
Rate
);}
});
}
});
this
.
LessNAvgPrice
=
LessSlinge
;
this
.
LessNPrice
=
LessSlinge
*
LessNum
;
if
(
this
.
LessNPrice
==
0
){
this
.
addMsg
.
LessPrice
=
0
;
this
.
addMsg
.
LessAvgPrice
=
0
;}
if
(
this
.
addMsg
.
LessAvgPrice
>
this
.
LessNAvgPrice
){
this
.
addMsg
.
LessAvgPrice
=
this
.
LessNAvgPrice
;
this
.
addMsg
.
LessPrice
=
this
.
addMsg
.
LessAvgPrice
*
LessNum
;}
if
(
ritem
.
LineIdList
.
includes
(
this
.
addMsg
.
LineId
))
{
// 使用这个规则
ritem
.
RuleList
.
forEach
((
qitem
)
=>
{
if
(
qitem
.
StartValue
<=
LessNum
)
{
LessSlinge
=
Number
(
qitem
.
Rate
);
}
});
}
});
this
.
LessNAvgPrice
=
LessSlinge
;
this
.
LessNPrice
=
LessSlinge
*
LessNum
;
if
(
this
.
LessNPrice
==
0
)
{
this
.
addMsg
.
LessPrice
=
0
;
this
.
addMsg
.
LessAvgPrice
=
0
;
}
if
(
this
.
addMsg
.
LessAvgPrice
>
this
.
LessNAvgPrice
)
{
this
.
addMsg
.
LessAvgPrice
=
this
.
LessNAvgPrice
;
this
.
addMsg
.
LessPrice
=
this
.
addMsg
.
LessAvgPrice
*
LessNum
;
}
}
this
.
addMsg
.
PreferPrice
=
this
.
addMsg
.
PreferPrice
-
this
.
addMsg
.
LessPrice
-
this
.
DealDiscountMoney
;
...
...
@@ -5266,15 +5263,17 @@
dandijie
=
this
.
addObj
.
SingleDMCPrice
*
Number
(
this
.
addMsg
.
AirticketNum
);
}
//退景点费用
var
refundScenicPrice
=
0
;
if
(
this
.
addMsg
.
ScenicList
!=
null
&&
this
.
addMsg
.
ScenicList
.
length
>
0
){
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
this
.
addMsg
.
ScenicList
.
forEach
(
item
=>
{
if
(
totalGuest
>=
item
.
Number
){
refundScenicPrice
+=
item
.
Number
*
item
.
RefundMoney
;}
});
}
//退景点费用
var
refundScenicPrice
=
0
;
if
(
this
.
addMsg
.
ScenicList
!=
null
&&
this
.
addMsg
.
ScenicList
.
length
>
0
)
{
var
totalGuest
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
))
this
.
addMsg
.
ScenicList
.
forEach
(
item
=>
{
if
(
totalGuest
>=
item
.
Number
)
{
refundScenicPrice
+=
item
.
Number
*
item
.
RefundMoney
;
}
});
}
this
.
addMsg
.
PreferPrice
=
this
.
OpSetLossMoney
+
dandijie
+
...
...
@@ -5285,31 +5284,40 @@
laoren
+
zafeiqianzhen
+
danfang
+
ertongbed
-
refundScenicPrice
;
// this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum));
//ld 2025-01-22 少价管理
if
(
this
.
addMsg
.
IsLessPrice
==
1
&&
this
.
addMsg
.
GroupType
==
1
&&
(
this
.
addMsg
.
CustomerType
==
'1'
||
this
.
addMsg
.
CustomerType
==
'2'
)
&&
this
.
addMsg
.
LineId
>
0
&&
this
.
LessRule
&&
this
.
LessRule
.
length
>
0
){
ertongbed
-
refundScenicPrice
;
// this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum));
//ld 2025-01-22 少价管理
if
(
this
.
addMsg
.
IsLessPrice
==
1
&&
this
.
addMsg
.
GroupType
==
1
&&
(
this
.
addMsg
.
CustomerType
==
'1'
||
this
.
addMsg
.
CustomerType
==
'2'
)
&&
this
.
addMsg
.
LineId
>
0
&&
this
.
LessRule
&&
this
.
LessRule
.
length
>
0
)
{
let
LessNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
));
let
LessSlinge
=
0
;
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
));
let
LessSlinge
=
0
;
// 首先抓取 人数对应的 少价金额
this
.
LessRule
.
forEach
((
ritem
)
=>
{
if
(
ritem
.
LineIdList
.
includes
(
this
.
addMsg
.
LineId
)){
// 使用这个规则
ritem
.
RuleList
.
forEach
((
qitem
)
=>
{
if
(
qitem
.
StartValue
<=
LessNum
){
LessSlinge
=
Number
(
qitem
.
Rate
);}
});
}
});
this
.
LessNAvgPrice
=
LessSlinge
;
this
.
LessNPrice
=
LessSlinge
*
LessNum
;
if
(
this
.
LessNPrice
==
0
){
this
.
addMsg
.
LessPrice
=
0
;
this
.
addMsg
.
LessAvgPrice
=
0
;}
if
(
this
.
addMsg
.
LessAvgPrice
>
this
.
LessNAvgPrice
){
this
.
addMsg
.
LessAvgPrice
=
this
.
LessNAvgPrice
;
this
.
addMsg
.
LessPrice
=
this
.
addMsg
.
LessAvgPrice
*
LessNum
;}
if
(
ritem
.
LineIdList
.
includes
(
this
.
addMsg
.
LineId
))
{
// 使用这个规则
ritem
.
RuleList
.
forEach
((
qitem
)
=>
{
if
(
qitem
.
StartValue
<=
LessNum
)
{
LessSlinge
=
Number
(
qitem
.
Rate
);
}
});
}
});
this
.
LessNAvgPrice
=
LessSlinge
;
this
.
LessNPrice
=
LessSlinge
*
LessNum
;
if
(
this
.
LessNPrice
==
0
)
{
this
.
addMsg
.
LessPrice
=
0
;
this
.
addMsg
.
LessAvgPrice
=
0
;
}
if
(
this
.
addMsg
.
LessAvgPrice
>
this
.
LessNAvgPrice
)
{
this
.
addMsg
.
LessAvgPrice
=
this
.
LessNAvgPrice
;
this
.
addMsg
.
LessPrice
=
this
.
addMsg
.
LessAvgPrice
*
LessNum
;
}
}
this
.
addMsg
.
PreferPrice
=
this
.
addMsg
.
PreferPrice
-
this
.
addMsg
.
LessPrice
-
this
.
DealDiscountMoney
;
}
...
...
@@ -5566,7 +5574,7 @@
this
.
addMsg
.
IsChildrenTour
=
this
.
IsChildrenTour
;
this
.
addMsg
.
IsBirdDiscount
=
this
.
addObj
.
IsBirdDiscount
;
this
.
addMsg
.
IsDealDiscount
=
1
;
this
.
addMsg
.
ScenicRefundArr
=
[];
this
.
addMsg
.
ScenicRefundArr
=
[];
this
.
apipost
(
"sellorder_post_SetOrderInfo_02"
,
this
.
addMsg
,
...
...
@@ -6252,58 +6260,62 @@
this
.
addMsg
.
QuotationUrl
=
""
;
},
getLessRuleList
()
{
let
msg
=
{};
this
.
apipost
(
"sellorder_post_GetTravelLessPriceRuleList_V2"
,
msg
,
(
res
)
=>
{
this
.
LessRule
=
res
.
data
.
data
;
//做初始化
let
LessNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
));
let
LessSlinge
=
0
;
let
msg
=
{};
this
.
apipost
(
"sellorder_post_GetTravelLessPriceRuleList_V2"
,
msg
,
(
res
)
=>
{
this
.
LessRule
=
res
.
data
.
data
;
//做初始化
let
LessNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
));
let
LessSlinge
=
0
;
// 首先抓取 人数对应的 少价金额
this
.
LessRule
.
forEach
((
ritem
)
=>
{
if
(
ritem
.
LineIdList
.
includes
(
this
.
addMsg
.
LineId
)){
// 使用这个规则
ritem
.
RuleList
.
forEach
((
qitem
)
=>
{
if
(
qitem
.
StartValue
<=
LessNum
){
LessSlinge
=
Number
(
qitem
.
Rate
);}
});
}
});
this
.
LessNAvgPrice
=
LessSlinge
;
this
.
LessNPrice
=
LessSlinge
*
LessNum
;
},
(
err
)
=>
{}
);
},
ValidateLess
(){
if
(
this
.
addMsg
.
LessPrice
>
this
.
LessNPrice
){
this
.
addMsg
.
LessPrice
=
this
.
LessNPrice
;
}
if
(
this
.
addMsg
.
LessPrice
>=
0
){
let
LessNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
));
if
(
LessNum
==
0
){
this
.
addMsg
.
LessAvgPrice
=
0
;}
else
{
this
.
addMsg
.
LessAvgPrice
=
this
.
moneyFormatN
(
this
.
addMsg
.
LessPrice
/
LessNum
);
if
(
ritem
.
LineIdList
.
includes
(
this
.
addMsg
.
LineId
))
{
// 使用这个规则
ritem
.
RuleList
.
forEach
((
qitem
)
=>
{
if
(
qitem
.
StartValue
<=
LessNum
)
{
LessSlinge
=
Number
(
qitem
.
Rate
);
}
});
}
});
this
.
LessNAvgPrice
=
LessSlinge
;
this
.
LessNPrice
=
LessSlinge
*
LessNum
;
},
(
err
)
=>
{}
);
},
ValidateLess
()
{
if
(
this
.
addMsg
.
LessPrice
>
this
.
LessNPrice
)
{
this
.
addMsg
.
LessPrice
=
this
.
LessNPrice
;
}
if
(
this
.
addMsg
.
LessPrice
>=
0
)
{
let
LessNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
));
if
(
LessNum
==
0
)
{
this
.
addMsg
.
LessAvgPrice
=
0
;
}
else
{
this
.
addMsg
.
LessAvgPrice
=
this
.
moneyFormatN
(
this
.
addMsg
.
LessPrice
/
LessNum
);
}
}
this
.
getTotalPrice
();
},
ValidateLess2
()
{
if
(
this
.
addMsg
.
LessAvgPrice
>
this
.
LessNAvgPrice
)
{
this
.
addMsg
.
LessAvgPrice
=
this
.
LessNAvgPrice
;
}
if
(
this
.
addMsg
.
LessAvgPrice
>=
0
)
{
let
LessNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
));
this
.
addMsg
.
LessPrice
=
this
.
addMsg
.
LessAvgPrice
*
LessNum
;
}
this
.
getTotalPrice
();
}
this
.
getTotalPrice
();
},
ValidateLess2
(){
if
(
this
.
addMsg
.
LessAvgPrice
>
this
.
LessNAvgPrice
){
this
.
addMsg
.
LessAvgPrice
=
this
.
LessNAvgPrice
;
}
if
(
this
.
addMsg
.
LessAvgPrice
>=
0
){
let
LessNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNum
)
+
Number
(
this
.
addMsg
.
OldPeopleNum
));
this
.
addMsg
.
LessPrice
=
this
.
addMsg
.
LessAvgPrice
*
LessNum
;
}
this
.
getTotalPrice
();
}
},
mounted
()
{
const
that
=
this
;
...
...
src/components/TravelManager/TravelList/RegistrationList.vue
View file @
0a899277
...
...
@@ -997,7 +997,7 @@
.RegistrationList
.GO_SimulaDrop
{
position
:
absolute
;
right
:
10
px
;
right
:
5
px
;
top
:
5px
;
color
:
#d1d1d1
;
}
...
...
@@ -1007,7 +1007,7 @@
height
:
24px
;
margin
:
0
3px
3px
0
;
overflow
:
hidden
;
max-width
:
200
px
;
max-width
:
194
px
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
font-size
:
12px
;
...
...
@@ -1069,29 +1069,14 @@
.SimulateDrop-box
{
width
:
210px
;
min-height
:
34px
;
max-height
:
68px
;
overflow-y
:
scroll
;
position
:
relative
;
padding
:
5px
21px
5px
6px
;
float
:
left
;
/* margin: 4px 0 0 10px; */
border
:
1px
solid
#d1d1d1
;
}
.SD_flight
{
display
:
inline-block
;
height
:
24px
;
margin
:
0
3px
3px
0
;
padding
:
0
8px
;
line-height
:
22px
;
background-color
:
#f0f2f5
;
}
.SimulaDrop
{
position
:
absolute
;
top
:
3px
;
right
:
10px
;
color
:
#c0c4cc
;
}
._TravelPricePopover
.jiDiv
{
width
:
750px
;
max-height
:
400px
;
...
...
@@ -1756,9 +1741,7 @@
<td>
<el-input
class=
"w80"
type=
"Number"
:max=
'addMsg.GuestNum'
v-model=
"item.Number"
@
keyup
.
native=
"initScenic()"
></el-input>
<!-- -->
</td>
</tr>
</table>
</div>
...
...
@@ -1766,7 +1749,7 @@
<div
slot=
"reference"
class=
"SimulateDrop-box"
>
<span
class=
"SD_flight"
v-for=
"subItem in addMsg.ScenicList"
>
{{subItem.ScenicName}}*{{subItem.Number}}
</span>
<i
class=
"iconfont icon-arrow-down SimulaDrop"
></i>
<i
class=
"iconfont icon-arrow-down
GO_
SimulaDrop"
></i>
</div>
</el-popover>
</el-form-item>
...
...
src/components/orderCommon/order-form2.vue
View file @
0a899277
...
...
@@ -60,6 +60,8 @@
/
deep
/
.SimulateDrop-box
{
width
:
176px
;
min-height
:
34px
;
max-height
:
68px
;
overflow-y
:
scroll
;
position
:
relative
;
padding
:
5px
21px
5px
6px
;
float
:
left
;
...
...
@@ -608,56 +610,7 @@
</el-form-item>
</el-col>
</
template
>
<el-col
:span=
"4"
v-if=
"showCity && pagesTitle == '跟团游产品'"
>
<!-- {{ScenicRefundList}} -->
<el-form-item
:label=
"$t('salesModule.ScenicRefund')"
>
<el-popover
popper-class=
"_TravelPricePopover"
trigger=
"click"
>
<div>
<div
class=
"ScenicDiv"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<!-- <td class="_color_666">{{$t('fnc.xuanze')}}</td> -->
<td
class=
"_color_666"
>
{{$t('visaT.jdname')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.tkjine')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.qxrenshu')}}
</td>
</tr>
<tr
v-for=
"item in ScenicRefundList"
>
<!-- <td>
<el-checkbox :checked="item.IsChecked" ></el-checkbox>
@change="getScenic(item)"
</td> -->
<td>
{{item.CouponsName}}
</td>
<td>
-¥{{item.RefundMoney}}
</td>
<td>
<el-input
class=
"w80"
type=
"Number"
:max=
'addMsg.GuestNum'
v-model=
"item.Number"
@
keyup
.
native=
"initScenic()"
></el-input>
<!-- -->
</td>
</tr>
</table>
</div>
</div>
<div
slot=
"reference"
class=
"SimulateDrop-box"
>
<span
class=
"SD_flight"
v-for=
"subItem in addMsg.ScenicList"
>
{{subItem.ScenicName}}*{{subItem.Number}}
</span>
<i
class=
"iconfont icon-arrow-down SimulaDrop"
></i>
</div>
</el-popover>
</el-form-item>
<!-- <el-form-item :label="$t('salesModule.ScenicRefund')">
<el-select filterable multiple class="multiple_input" v-model="addMsg.ScenicRefundArr"
:placeholder="$t('pub.pleaseSel')" @change="ScenicRefundMethods">
<el-option v-for="(item, index) in ScenicRefundList" :label="item.ScenicName" :value="item.Id"
:key="index">
</el-option>
</el-select>
</el-form-item> -->
</el-col>
<el-col
:span=
"4"
v-if=
"showCity || pagesTitle == '当地游产品'"
>
<el-form-item
:label=
"$t('salesModule.MsgMoney')"
>
<el-select
filterable
v-model=
"addMsg.IsShowMessagesMoney"
:placeholder=
"$t('pub.pleaseSel')"
>
...
...
@@ -730,7 +683,45 @@
</div>
</el-form-item>
</el-col>
<el-col
:span=
"4"
v-if=
"showCity && pagesTitle == '跟团游产品'"
>
<el-form-item
:label=
"$t('salesModule.ScenicRefund')"
>
<el-popover
popper-class=
"_TravelPricePopover"
trigger=
"click"
>
<div>
<div
class=
"ScenicDiv"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
class=
"_color_666"
>
{{$t('visaT.jdname')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.tkjine')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.qxrenshu')}}
</td>
<td
class=
"_color_666"
>
{{$t('fnc.tkjine')}}
</td>
</tr>
<tr
v-for=
"item in ScenicRefundList"
>
<td>
{{item.CouponsName}}
</td>
<td>
-¥{{item.RefundMoney}}
</td>
<td>
<el-input
class=
"w80"
type=
"Number"
:max=
'addMsg.GuestNum'
v-model=
"item.Number"
@
keyup
.
native=
"initScenic()"
></el-input>
</td>
<td>
- {{item.Number*item.RefundMoney}}
</td>
</tr>
</table>
</div>
</div>
<div
slot=
"reference"
class=
"SimulateDrop-box"
>
<span
class=
"SD_flight"
v-for=
"subItem in addMsg.ScenicList"
>
{{subItem.ScenicName}}
</span>
<i
class=
"iconfont icon-arrow-down SimulaDrop"
></i>
</div>
</el-popover>
</el-form-item>
</el-col>
</el-row>
<
template
v-if=
"pagesTitle == '当地游产品'"
>
<el-row
:gutter=
"20"
style=
"margin-bottom: 20px"
>
<el-col
:span=
"24"
>
...
...
@@ -2048,7 +2039,7 @@
}
});
}
//单地接
let
dandijie
=
0
;
if
(
this
.
addMsg
.
GroupType
==
4
)
{
...
...
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