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
76f9a6b6
Commit
76f9a6b6
authored
Dec 28, 2022
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
173e115b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
614 additions
and
37 deletions
+614
-37
groupTourOrderByTuanOne.vue
src/components/SalesModule/groupTourOrderByTuanOne.vue
+308
-25
groupTourOrderOne.vue
src/components/SalesModule/groupTourOrderOne.vue
+306
-12
No files found.
src/components/SalesModule/groupTourOrderByTuanOne.vue
View file @
76f9a6b6
...
...
@@ -790,20 +790,48 @@
margin
:
5px
;
text-align
:
center
;
}
.passengerSaleList_table
{
width
:
100%
;
color
:
#333
;
border-bottom
:
1px
solid
#cccccc
;
border-right
:
1px
solid
#cccccc
;
}
.passengerSaleList_table
tr
{
background
:
#fff
;
}
.passengerSaleList_table
tr
th
{
background
:
#e6e6e6
;
height
:
30px
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.passengerSaleList_table
tr
td
{
padding
:
10px
10px
25px
10px
!important
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
</
style
>
<
template
>
<div
class=
"flexOne groupts"
v-loading=
'loading'
>
<!-- 修改信息 -->
<div
class=
"planeTicketEdit ownScrollbarStyle"
v-
show
=
"isShowLayer2"
>
<div
class=
"planeTicketEdit ownScrollbarStyle"
v-
if
=
"isShowLayer2"
>
<p>
修改
<span
class=
"fr"
>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"取消"
@
click=
"cancelSubmit2()"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"保存"
@
click=
"submitForm2('addMsg
2
')"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"保存"
@
click=
"submitForm2('addMsg
tWO
')"
/>
</span>
</p>
<el-form
:model=
"addMsg"
ref=
"addMsg
2
"
label-position=
"right"
:rules=
"rules2"
label-width=
"80px"
>
<el-form
:model=
"addMsg"
ref=
"addMsg
tWO
"
label-position=
"right"
:rules=
"rules2"
label-width=
"80px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"客户类型"
prop=
"CustomerType"
>
...
...
@@ -879,12 +907,12 @@
@
input=
'getNumber();getTotalPrice()'
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<
!--
<
el-col
:span=
"4"
>
<el-form-item
label=
"老人人数"
prop=
"OldPeopleNum"
>
<el-input
v-model=
'addMsg.OldPeopleNum'
@
keyup
.
native=
"checkInteger(addMsg,'OldPeopleNum')"
@
input=
'getNumber();getHouseNo();getTotalPrice()'
></el-input>
</el-form-item>
</el-col>
</el-col>
-->
</el-row>
...
...
@@ -969,7 +997,7 @@
</el-form>
</div>
<!-- 其他类型的修改信息2 -->
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-
show
=
"isShowLayer"
>
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-
if
=
"isShowLayer"
>
<p>
修改
<span
class=
"fr"
>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"取消"
@
click=
"cancelSubmit()"
/>
...
...
@@ -1054,7 +1082,7 @@
<el-col
:span=
"4"
>
<el-form-item
label=
"成人人数"
v-show=
"addMsg.GroupType !== '4'"
>
<el-input
v-model=
'addMsg.ManNum'
@
keyup
.
native=
"checkInteger(addMsg,'ManNum')"
@
input=
'getNumber();getHouseNo();getTotalPrice()'
></el-input>
@
input=
'getNumber();getHouseNo();getTotalPrice()'
@
change=
"getNumGuest"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
...
...
@@ -1064,21 +1092,21 @@
prop=
"ChirdNoNeedBedNum"
>
<el-input
v-model=
'addMsg.ChirdNum'
:disabled=
"addMsg.GroupType==='4'"
@
keyup
.
native=
"checkInteger(addMsg,'ChirdNoNeedBedNum')"
@
input=
'getNumber();getHouseNo();getTotalPrice();autoRemarks("ChirdNoNeedBedNum","儿童人数");'
></el-input>
@
input=
'getNumber();getHouseNo();getTotalPrice();autoRemarks("ChirdNoNeedBedNum","儿童人数");'
@
change=
"getNumGuest"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
v-if=
'IsChildrenTour==1'
>
<el-form-item
label=
"婴儿人数"
v-show=
"addMsg.GroupType !== '4'"
>
<el-input
v-model=
'addMsg.BabyNum'
@
keyup
.
native=
"checkInteger(addMsg,'BabyNum')"
@
input=
'getNumber();getTotalPrice();getTotalPrice()'
></el-input>
@
input=
'getNumber();getTotalPrice();getTotalPrice()'
@
change=
"getNumGuest"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<
!-- <
el-col :span="4">
<el-form-item label="老人人数" v-show="addMsg.GroupType !== '4'">
<el-input v-model='addMsg.OldPeopleNum' @keyup.native="checkInteger(addMsg,'OldPeopleNum')"
@input='getNumber();getHouseNo();getTotalPrice()'></el-input>
</el-form-item>
</el-col>
</el-col>
-->
<el-col
:span=
"4"
>
<el-form-item
label=
"单地接数量"
v-show=
"addMsg.GroupType !== '1'"
>
<el-input
v-model=
'addMsg.AirticketNum'
@
keyup
.
native=
"checkInteger(addMsg,'AirticketNum')"
...
...
@@ -1171,7 +1199,7 @@
<el-input
v-model=
'addMsg.CommissionShareMoney'
:disabled=
"true"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<
!-- <
el-col :span="4">
<el-form-item label="可退景点">
<el-select filterable multiple class='multiple_input' v-model='addMsg.ScenicRefundArr'
:placeholder="$t('pub.pleaseSel')" @change='ScenicRefundMethods'>
...
...
@@ -1180,7 +1208,7 @@
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
-->
<el-col
:span=
"4"
>
<el-form-item
label=
"客人来源"
prop=
"ClientSource"
>
<el-select
v-model=
'addMsg.ClientSource'
:disabled=
"addMsg.OrderForm!==4 ? true : false"
filterable
...
...
@@ -1226,6 +1254,109 @@
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"集合地"
prop=
"GatherAddress"
>
<el-input
size=
"small"
v-model=
'addMsg.GatherAddress'
placeholder=
"请输入集合地"
style=
"width: 100%;"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
style=
"margin-bottom: 20px;"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"房客信息"
prop=
""
>
<table
class=
"passengerSaleList_table"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<thead>
<tr>
<th
width=
"20%"
style=
"min-width: 260px;"
>
姓名
</th>
<th
width=
"20%"
style=
"min-width: 220px;"
>
性别
</th>
<th
width=
"20%"
style=
"min-width: 220px;"
>
生日
</th>
<th
width=
"20%"
style=
"min-width: 220px;"
>
护照号
</th>
<th
width=
"20%"
style=
"min-width: 220px;"
>
电话
</th>
</tr>
</thead>
<tbody>
<tr
v-for=
"(item,index) in addMsg.GuestList"
:key=
"index"
>
<td
width=
"20%"
style=
"min-width: 260px;"
>
<div
style=
"display: flex;flex-direction: row;"
>
<el-form-item
style=
"width: 50%;"
:label=
"`姓 ${index+1} `"
:prop=
"`GuestList.${index}.SurName`"
:rules=
"rules.SurName"
label-width=
"50px"
label-position=
"left"
>
<el-input
size=
"small"
v-model=
'item.SurName'
placeholder=
"请输入姓"
style=
"width: 100%;"
@
input=
"Transformation(item.SurName,'SurName',index)"
></el-input>
</el-form-item>
<el-form-item
style=
"width: 50%;"
:label=
"`名 ${index+1} `"
:prop=
"`GuestList.${index}.Name`"
:rules=
"rules.Name"
label-width=
"50px"
label-position=
"left"
>
<el-input
size=
"small"
v-model=
'item.Name'
placeholder=
"请输入名"
style=
"width: 100%;"
@
input=
"Transformation(item.Name,'Name',index)"
></el-input>
</el-form-item>
</div>
</td>
<td
width=
"20%"
style=
"min-width: 220px;"
>
<el-form-item
:label=
"`性别 ${index+1} `"
:prop=
"`GuestList.${index}.Sex`"
:rules=
"rules.Sex"
label-width=
"70px"
label-position=
"left"
>
<el-select
v-model=
"item.Sex"
placeholder=
"请选择性别"
>
<el-option
v-for=
"item in optionsList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-form-item>
</td>
<td
width=
"20%"
style=
"min-width: 220px;"
>
<el-form-item
:label=
"`出生日期 ${index+1} `"
:prop=
"`GuestList.${index}.Birthday`"
:rules=
"rules.Birthday"
label-width=
"100px"
label-position=
"left"
>
<el-date-picker
v-model=
"item.Birthday"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"选择出生日期"
>
</el-date-picker>
</el-form-item>
</td>
<td
width=
"20%"
style=
"min-width: 220px;"
>
<el-form-item
:label=
"`护照号 ${index+1} `"
:prop=
"`GuestList.${index}.PassportNo`"
:rules=
"rules.PassportNo"
label-width=
"125px"
label-position=
"left"
>
<el-input
size=
"small"
v-model=
'item.PassportNo'
placeholder=
"请输入护照号"
style=
"width: 100%;"
></el-input>
</el-form-item>
</td>
<td
width=
"20%"
style=
"min-width: 220px;"
>
<el-form-item
:label=
"`手机号 ${index+1} `"
:prop=
"`GuestList.${index}.MobilePhone`"
:rules=
"rules.MobilePhone"
label-width=
"80px"
label-position=
"left"
>
<el-input
size=
"small"
type=
"Number"
v-model=
'item.MobilePhone'
placeholder=
"请输入手机号"
style=
"width: 100%;"
></el-input>
</el-form-item>
</td>
</tr>
<tr
v-if=
"addMsg.GuestList&&addMsg.GuestList.length==0"
>
<td
colspan=
"5"
>
暂无房客信息
</td>
</tr>
</tbody>
</table>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
...
...
@@ -1237,7 +1368,7 @@
</el-form>
</div>
<!-- 修改房型 -->
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-
show
=
"isShowHouse"
>
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-
if
=
"isShowHouse"
>
<p>
修改房型
<span
class=
"fr"
>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"取消"
@
click=
"houseCancel()"
/>
...
...
@@ -1263,11 +1394,11 @@
<el-input
v-model=
'addMsg.BabyNum'
:disabled=
"true"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<
!-- <
el-col :span="4">
<el-form-item label="老人人数" prop="OldPeopleNum">
<el-input v-model='addMsg.OldPeopleNum' :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-col>
-->
<el-col
:span=
"4"
>
<el-form-item
label=
"单地接数量"
prop=
"AirticketNum"
>
<el-input
v-model=
'addMsg.AirticketNum'
:disabled=
"true"
></el-input>
...
...
@@ -1311,7 +1442,7 @@
</el-form>
</div>
<!-- 修改备注 -->
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-
show
=
"isShowLayerRemarks"
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-
if
=
"isShowLayerRemarks"
style=
"height: 150px;min-height:150px;"
>
<p>
修改备注
<span
class=
"fr"
v-if=
"remarksMsg.isOrder==1"
style=
"margin-right:0px;"
>
...
...
@@ -2104,7 +2235,7 @@
</el-dialog>
<!-- 申请优惠-->
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-
show
=
"SpecialOffer"
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-
if
=
"SpecialOffer"
style=
"height: 150px;min-height:200px;"
>
<p>
申请优惠
<span
class=
"fr"
>
...
...
@@ -2298,7 +2429,32 @@
GoCityTime
:
""
,
BackCityTime
:
""
,
CommissionSharePeople
:
"-1"
,
CommissionShareMoney
:
"0"
CommissionShareMoney
:
"0"
,
GuestList
:
[],
GatherAddress
:
""
},
GuestList
:
[
{
SurName
:
''
,
Name
:
''
,
Sex
:
''
,
ESurName
:
''
,
EName
:
''
,
Birthday
:
''
,
PassportNo
:
''
,
Remarks
:
''
,
MobilePhone
:
''
}
],
GuestObj
:{
SurName
:
''
,
Name
:
''
,
Sex
:
''
,
ESurName
:
''
,
EName
:
''
,
Birthday
:
''
,
PassportNo
:
''
,
Remarks
:
''
,
MobilePhone
:
''
},
employeeMsg
:
{
BranchId
:
"-1"
,
...
...
@@ -2350,7 +2506,60 @@
required
:
true
,
message
:
"请输入联系人电话"
,
trigger
:
"blur"
}]
}],
SurName
:
[
{
required
:
true
,
message
:
'请输入姓'
,
trigger
:
'blur'
},
],
Name
:
[
{
required
:
true
,
message
:
'请输入名'
,
trigger
:
'blur'
},
],
Sex
:
[
{
required
:
true
,
message
:
'请选择性别'
,
trigger
:
'change'
},
],
Birthday
:
[
{
required
:
true
,
message
:
'请选择出生日期'
,
trigger
:
'blur'
},
],
PassportNo
:
[
{
required
:
true
,
message
:
'请输入护照号'
,
trigger
:
'blur'
},
],
MobilePhone
:
[
{
required
:
true
,
message
:
'请输入联系人电话'
,
trigger
:
'blur'
},
{
pattern
:
/^
(
0|86|17951
)?(
13
[
0-9
]
|15
[
012356789
]
|17
[
012356789
]
|18
[
0-9
]
|19
[
0-9
]
|14
[
57
])[
0-9
]{8}
$/
,
message
:
'请输入正确的手机'
}
],
GatherAddress
:
[
{
required
:
true
,
message
:
'请输入集合地'
,
trigger
:
'blur'
},
],
},
rules2
:
{
CustomerType
:
[{
...
...
@@ -2520,6 +2729,11 @@
tcnum
:
''
,
isOrder
:
''
,
},
optionsList
:
[
{
Name
:
'男'
,
Id
:
1
},
{
Name
:
'女'
,
Id
:
2
},
],
isGuest
:
0
};
...
...
@@ -3058,7 +3272,8 @@
this
.
IsChargeLossOrders
=
obj
.
isChargeLossOrders
;
this
.
apipost
(
"sellorder_post_GetOrderEntity"
,
{
ID
:
obj
.
orderId
ID
:
obj
.
orderId
,
IsGetGuest
:
1
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -3066,10 +3281,15 @@
let
x
=
res
.
data
.
data
.
model
;
let
modelPrice
=
res
.
data
.
data
.
modelPrice
;
this
.
addMsg
.
GatherAddress
=
x
.
GatherAddress
this
.
addMsg
=
x
;
this
.
addObj
=
res
.
data
.
data
.
modelPrice
;
this
.
addObj
.
OrderId
=
x
.
OrderId
;
this
.
addObj
.
OpSetLossMoney
=
x
.
OpSetLossMoney
;
if
(
this
.
addObj
){
this
.
addObj
.
OrderId
=
x
.
OrderId
;
this
.
addObj
.
OpSetLossMoney
=
x
.
OpSetLossMoney
;
}
this
.
addMsg
.
ScenicRefundArr
=
res
.
data
.
data
.
ScenicRefundArr
;
this
.
getScenicRefund
(
obj
.
tcid
);
...
...
@@ -3125,6 +3345,31 @@
this
.
isShowLayer
=
false
;
this
.
isShowLayer2
=
true
;
}
if
(
x
.
GuestList
.
length
>
0
){
let
GuestList
=
JSON
.
parse
(
JSON
.
stringify
(
x
.
GuestList
))
this
.
addMsg
.
GuestList
=
[]
GuestList
.
forEach
((
items
)
=>
{
let
Datas
=
{
SurName
:
items
.
SurName
,
Name
:
items
.
Name
,
Sex
:
items
.
Sex
,
ESurName
:
items
.
ESurName
,
EName
:
items
.
EName
,
Birthday
:
items
.
Birthday
,
PassportNo
:
items
.
PassportNo
,
Remarks
:
items
.
Remarks
,
MobilePhone
:
items
.
MobilePhone
,
Id
:
items
.
Id
}
this
.
addMsg
.
GuestList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
Datas
)))
})
this
.
isGuest
=
1
this
.
getNumGuest
()
}
else
{
this
.
addMsg
.
GuestList
=
[]
this
.
isGuest
=
0
this
.
getNumGuest
()
}
this
.
getKhmdList
(
this
.
addMsg
.
CustomerType
,
obj
.
lineId
,
this
.
addMsg
.
CreateBy
,
x
.
CustomerId
);
this
.
getDdlyList
(
this
.
addMsg
.
CustomerType
);
let
maxPeopleNum
=
(
Number
(
this
.
addMsg
.
ManNum
)
+
Number
(
this
.
addMsg
.
ChirdNoNeedBedNum
)
+
Number
(
this
...
...
@@ -3681,7 +3926,7 @@
},
cancelSubmit2
()
{
this
.
isShowLayer2
=
false
;
this
.
$refs
[
"addMsg
2
"
].
resetFields
();
this
.
$refs
[
"addMsg
tWO
"
].
resetFields
();
this
.
clearMsg
();
},
cancelSubmitRemarks
()
{
...
...
@@ -3867,7 +4112,7 @@
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
$refs
[
"addMsg
2
"
].
resetFields
();
this
.
$refs
[
"addMsg
tWO
"
].
resetFields
();
this
.
clearMsg
();
this
.
getList
();
this
.
isShowLayer2
=
false
;
...
...
@@ -3879,6 +4124,44 @@
err
=>
{}
);
},
getNumGuest
(){
let
num
=
0
if
(
this
.
addMsg
.
GuestList
.
length
==
0
){
for
(
let
i
=
0
;
i
<
this
.
addMsg
.
SafeNum
;
i
++
){
this
.
addMsg
.
GuestList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
GuestObj
)))
}
}
else
if
(
this
.
addMsg
.
GuestList
.
length
<
this
.
addMsg
.
SafeNum
){
num
=
this
.
addMsg
.
SafeNum
-
this
.
addMsg
.
GuestList
.
length
for
(
let
i
=
0
;
i
<
num
;
i
++
){
this
.
addMsg
.
GuestList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
GuestObj
)))
}
}
else
if
(
this
.
addMsg
.
GuestList
.
length
>
this
.
addMsg
.
SafeNum
){
num
=
this
.
addMsg
.
GuestList
.
length
-
this
.
addMsg
.
SafeNum
for
(
let
i
=
0
;
i
<
num
;
i
++
){
let
x
=
this
.
addMsg
.
GuestList
.
length
-
1
this
.
addMsg
.
GuestList
.
splice
(
x
,
1
)
// if(this.isGuest==0){
// this.addMsg.GuestList.splice(i,1)
// }else{
// let x = this.addMsg.GuestList.length-1
// this.addMsg.GuestList.splice(x,1)
// }
}
}
},
Transformation
(
val
,
type
,
index
)
{
let
text
=
this
.
pinyin
(
val
,
{
style
:
this
.
pinyin
.
STYLE_NORMAL
});
if
(
type
==
"SurName"
)
{
let
upText
=
text
.
join
(
""
).
toLocaleUpperCase
()
this
.
addMsg
.
GuestList
[
index
].
ESurName
=
upText
;
}
if
(
type
==
"Name"
)
{
let
upText
=
text
.
join
(
""
).
toLocaleUpperCase
()
this
.
addMsg
.
GuestList
[
index
].
EName
=
upText
;
}
},
getStartList
()
{
this
.
apipost
(
"sellorder_get_GetAllStartCity"
,
{},
...
...
src/components/SalesModule/groupTourOrderOne.vue
View file @
76f9a6b6
...
...
@@ -734,13 +734,41 @@
margin
:
5px
;
text-align
:
center
;
}
.passengerSaleList_table
{
width
:
100%
;
color
:
#333
;
border-bottom
:
1px
solid
#cccccc
;
border-right
:
1px
solid
#cccccc
;
}
.passengerSaleList_table
tr
{
background
:
#fff
;
}
.passengerSaleList_table
tr
th
{
background
:
#e6e6e6
;
height
:
30px
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
.passengerSaleList_table
tr
td
{
padding
:
10px
10px
25px
10px
!important
;
font-size
:
12px
;
text-align
:
center
;
border-top
:
1px
solid
#cccccc
;
border-left
:
1px
solid
#cccccc
;
}
</
style
>
<
template
>
<div
class=
"flexOne groupts"
style=
"min-width: 1200px;"
>
<!-- 修改信息 -->
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-
show
=
"isShowLayer"
>
<div
class=
"productQuerybottomLayer ownScrollbarStyle"
v-
if
=
"isShowLayer"
>
<p>
{{
$t
(
'pub.updateMsg'
)
}}
<span
class=
"fr"
>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.cancelBtn')"
@
click=
"cancelSubmit()"
/>
...
...
@@ -863,13 +891,13 @@
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.AdultNum')"
prop=
"ManNum"
v-show=
"addMsg.GroupType !== '4'"
>
<el-input
v-model=
'addMsg.ManNum'
@
keyup
.
native=
"checkInteger(addMsg,'ManNum')"
@
input=
'getNumber();getHouseNo();getTotalPrice()'
></el-input>
@
input=
'getNumber();getHouseNo();getTotalPrice()'
@
change=
"getNumGuest"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.ChildNum')"
prop=
"ManNum"
v-show=
"addMsg.GroupType !== '4'"
>
<el-input
v-model=
'addMsg.ChirdNum'
@
keyup
.
native=
"checkInteger(addMsg,'ManNum')"
@
input=
'getNumber();getHouseNo();getTotalPrice()'
></el-input>
@
input=
'getNumber();getHouseNo();getTotalPrice()'
@
change=
"getNumGuest"
></el-input>
</el-form-item>
</el-col>
<!--
<el-col
:span=
"4"
>
...
...
@@ -889,15 +917,15 @@
<el-col
:span=
"4"
v-if=
'IsChildrenTour==1'
>
<el-form-item
:label=
"$t('salesModule.BabyNum')"
prop=
"BabyNum"
v-show=
"addMsg.GroupType !== '4'"
>
<el-input
v-model=
'addMsg.BabyNum'
@
keyup
.
native=
"checkInteger(addMsg,'BabyNum')"
@
input=
'getNumber();getTotalPrice()'
></el-input>
@
input=
'getNumber();getTotalPrice()'
@
change=
"getNumGuest"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<
!--
<
el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.OldPeopleNum')"
prop=
"OldPeopleNum"
v-show=
"addMsg.GroupType !== '4'"
>
<el-input
v-model=
'addMsg.OldPeopleNum'
@
keyup
.
native=
"checkInteger(addMsg,'OldPeopleNum')"
@
input=
'getNumber();getHouseNo();getTotalPrice()'
></el-input>
</el-form-item>
</el-col>
</el-col>
-->
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.SaleNum')"
prop=
"SaleNum"
>
<el-input
v-model=
'addMsg.SafeNum'
@
keyup
.
native=
"checkInteger(addMsg,'SafeNum')"
...
...
@@ -1025,7 +1053,7 @@
<el-input
v-model=
'addMsg.CommissionShareMoney'
:disabled=
"true"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<
!--
<
el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.ScenicRefund')"
>
<el-select
filterable
multiple
class=
'multiple_input'
v-model=
'addMsg.ScenicRefundArr'
:placeholder=
"$t('pub.pleaseSel')"
@
change=
'ScenicRefundMethods'
>
...
...
@@ -1033,7 +1061,7 @@
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-col>
-->
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.CustomFrom')"
prop=
"ClientSource"
>
<el-select
v-model=
'addMsg.ClientSource'
:disabled=
"addMsg.OrderForm!==4 ? true : false"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
...
...
@@ -1042,6 +1070,11 @@
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"集合地"
prop=
"GatherAddress"
>
<el-input
size=
"small"
v-model=
'addMsg.GatherAddress'
placeholder=
"请输入集合地"
style=
"width: 100%;"
></el-input>
</el-form-item>
</el-col>
</el-row>
<!--
<el-row
:gutter=
"20"
>
-->
<!--
<el-col
:span=
"4"
>
...
...
@@ -1115,6 +1148,110 @@
</el-form-item>
</el-col>
-->
</el-row>
<el-row
:gutter=
"20"
style=
"margin-bottom: 20px;"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"房客信息"
prop=
""
>
<table
class=
"passengerSaleList_table"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<thead>
<tr>
<th
width=
"20%"
style=
"min-width: 260px;"
>
姓名
</th>
<th
width=
"20%"
style=
"min-width: 220px;"
>
性别
</th>
<th
width=
"20%"
style=
"min-width: 220px;"
>
生日
</th>
<th
width=
"20%"
style=
"min-width: 220px;"
>
护照号
</th>
<th
width=
"20%"
style=
"min-width: 220px;"
>
电话
</th>
<!--
<th
width=
"5%"
style=
"min-width: 80px;"
>
操作
</th>
-->
</tr>
</thead>
<tbody>
<template
v-if=
"addMsg.GuestList.length>0"
>
<tr
v-for=
"(item,index) in addMsg.GuestList"
:key=
"index"
>
<td
width=
"20%"
style=
"min-width: 260px;"
>
<div
style=
"display: flex;flex-direction: row;"
>
<el-form-item
style=
"width: 50%;"
:label=
"`姓 $
{index+1} `"
:prop="`GuestList.${index}.SurName`"
:rules="rules.SurName"
label-width="50px"
label-position="left">
<el-input
size=
"small"
v-model=
'item.SurName'
placeholder=
"请输入姓"
style=
"width: 100%;"
@
input=
"Transformation(item.SurName,'SurName',index)"
></el-input>
</el-form-item>
<el-form-item
style=
"width: 50%;"
:label=
"`名 $
{index+1} `"
:prop="`GuestList.${index}.Name`"
:rules="rules.Name"
label-width="50px"
label-position="left">
<el-input
size=
"small"
v-model=
'item.Name'
placeholder=
"请输入名"
style=
"width: 100%;"
@
input=
"Transformation(item.Name,'Name',index)"
></el-input>
</el-form-item>
</div>
</td>
<td
width=
"20%"
style=
"min-width: 220px;"
>
<el-form-item
:label=
"`性别 $
{index+1} `"
:prop="`GuestList.${index}.Sex`"
:rules="rules.Sex"
label-width="70px"
label-position="left">
<el-select
v-model=
"item.Sex"
placeholder=
"请选择性别"
>
<el-option
v-for=
"item in optionsList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-form-item>
</td>
<td
width=
"20%"
style=
"min-width: 220px;"
>
<el-form-item
:label=
"`出生日期 $
{index+1} `"
:prop="`GuestList.${index}.Birthday`"
:rules="rules.Birthday"
label-width="100px"
label-position="left">
<el-date-picker
v-model=
"item.Birthday"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"选择出生日期"
>
</el-date-picker>
</el-form-item>
</td>
<td
width=
"20%"
style=
"min-width: 220px;"
>
<el-form-item
:label=
"`护照号 $
{index+1} `"
:prop="`GuestList.${index}.PassportNo`"
:rules="rules.PassportNo"
label-width="125px"
label-position="left">
<el-input
size=
"small"
v-model=
'item.PassportNo'
placeholder=
"请输入护照号"
style=
"width: 100%;"
></el-input>
</el-form-item>
</td>
<td
width=
"20%"
style=
"min-width: 220px;"
>
<el-form-item
:label=
"`手机号 $
{index+1} `"
:prop="`GuestList.${index}.MobilePhone`"
:rules="rules.MobilePhone"
label-width="80px"
label-position="left">
<el-input
size=
"small"
type=
"Number"
v-model=
'item.MobilePhone'
placeholder=
"请输入手机号"
style=
"width: 100%;"
></el-input>
</el-form-item>
</td>
<!--
<td
width=
"5%"
style=
"min-width: 80px;"
>
<el-button
v-if=
"item.Id==0&&addMsg.GuestList.length>addMsg.SafeNum"
type=
"danger"
icon=
"el-icon-delete"
circle
@
click=
"clickDelete(item,index)"
></el-button>
</td>
-->
</tr>
</
template
>
<tr
v-if=
"addMsg.GuestList.length==0"
>
<td
colspan=
"5"
>
暂无房客信息
</td>
</tr>
</tbody>
</table>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
:label=
"$t('pub.pubRemark')"
prop=
"Remarks"
>
...
...
@@ -1163,11 +1300,11 @@
<el-input
v-model=
'addMsg.BabyNum'
:disabled=
"true"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<
!-- <
el-col :span="4">
<el-form-item :label="$t('salesModule.OldPeopleNum')" prop="OldPeopleNum">
<el-input v-model='addMsg.OldPeopleNum' :disabled="true"></el-input>
</el-form-item>
</el-col>
</el-col>
-->
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('salesModule.SingDNum')"
prop=
"AirticketNum"
>
<el-input
v-model=
'addMsg.AirticketNum'
:disabled=
"true"
></el-input>
...
...
@@ -1995,6 +2132,34 @@
BackCityTime
:
''
,
CommissionSharePeople
:
'-1'
,
CommissionShareMoney
:
'0'
,
GuestList
:
[],
GatherAddress
:
""
},
GuestList
:
[
{
SurName
:
''
,
Name
:
''
,
Sex
:
''
,
ESurName
:
''
,
EName
:
''
,
Birthday
:
''
,
PassportNo
:
''
,
Remarks
:
''
,
MobilePhone
:
''
,
}
],
GuestObj
:{
SurName
:
''
,
Name
:
''
,
Sex
:
''
,
ESurName
:
''
,
EName
:
''
,
Birthday
:
''
,
PassportNo
:
''
,
Remarks
:
''
,
MobilePhone
:
''
,
Id
:
0
},
employeeMsg
:
{
BranchId
:
'-1'
,
...
...
@@ -2046,7 +2211,60 @@
required
:
true
,
message
:
'请输入联系人电话'
,
trigger
:
'blur'
}]
}],
SurName
:
[
{
required
:
true
,
message
:
'请输入姓'
,
trigger
:
'blur'
},
],
Name
:
[
{
required
:
true
,
message
:
'请输入名'
,
trigger
:
'blur'
},
],
Sex
:
[
{
required
:
true
,
message
:
'请选择性别'
,
trigger
:
'change'
},
],
Birthday
:
[
{
required
:
true
,
message
:
'请选择出生日期'
,
trigger
:
'blur'
},
],
PassportNo
:
[
{
required
:
true
,
message
:
'请输入护照号'
,
trigger
:
'blur'
},
],
MobilePhone
:
[
{
required
:
true
,
message
:
'请输入联系人电话'
,
trigger
:
'blur'
},
{
pattern
:
/^
(
0|86|17951
)?(
13
[
0-9
]
|15
[
012356789
]
|17
[
012356789
]
|18
[
0-9
]
|19
[
0-9
]
|14
[
57
])[
0-9
]{8}
$/
,
message
:
'请输入正确的手机'
}
],
GatherAddress
:
[
{
required
:
true
,
message
:
'请输入集合地'
,
trigger
:
'blur'
},
]
},
RemarksRules
:
{
Remarks
:
[{
...
...
@@ -2166,6 +2384,11 @@
tcnum
:
''
,
isOrder
:
''
,
},
optionsList
:
[
{
Name
:
'男'
,
Id
:
1
},
{
Name
:
'女'
,
Id
:
2
},
],
isGuest
:
0
,
}
},
components
:
{
...
...
@@ -2713,7 +2936,8 @@
this
.
IsChargeLossOrders
=
obj
.
isChargeLossOrders
this
.
apipost
(
'sellorder_post_GetOrderEntity'
,
{
ID
:
obj
.
orderId
ID
:
obj
.
orderId
,
IsGetGuest
:
1
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -2722,6 +2946,7 @@
this
.
addObj
=
res
.
data
.
data
.
modelPrice
let
x
=
res
.
data
.
data
.
model
;
this
.
addMsg
.
GatherAddress
=
x
.
GatherAddress
this
.
addObj
.
OrderId
=
x
.
OrderId
;
this
.
addObj
.
OpSetLossMoney
=
x
.
OpSetLossMoney
;
...
...
@@ -2775,6 +3000,32 @@
this
.
isPingtai
=
true
}
if
(
x
.
GuestList
.
length
>
0
){
let
GuestList
=
JSON
.
parse
(
JSON
.
stringify
(
x
.
GuestList
))
this
.
addMsg
.
GuestList
=
[]
GuestList
.
forEach
((
items
)
=>
{
let
Datas
=
{
SurName
:
items
.
SurName
,
Name
:
items
.
Name
,
Sex
:
items
.
Sex
,
ESurName
:
items
.
ESurName
,
EName
:
items
.
EName
,
Birthday
:
items
.
Birthday
,
PassportNo
:
items
.
PassportNo
,
Remarks
:
items
.
Remarks
,
MobilePhone
:
items
.
MobilePhone
,
Id
:
items
.
Id
}
this
.
addMsg
.
GuestList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
Datas
)))
})
this
.
isGuest
=
1
this
.
getNumGuest
()
}
else
{
this
.
addMsg
.
GuestList
=
[]
this
.
isGuest
=
0
this
.
getNumGuest
()
}
this
.
isShowLayer
=
true
this
.
isShowHouse
=
false
this
.
isShowLayerRemarks
=
false
...
...
@@ -3466,6 +3717,49 @@
err
=>
{}
)
},
clickDelete
(
item
,
index
){
this
.
addMsg
.
GuestList
.
splice
(
index
,
1
)
},
getNumGuest
(){
let
num
=
0
if
(
this
.
addMsg
.
GuestList
.
length
==
0
){
for
(
let
i
=
0
;
i
<
this
.
addMsg
.
SafeNum
;
i
++
){
this
.
addMsg
.
GuestList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
GuestObj
)))
}
}
else
if
(
this
.
addMsg
.
GuestList
.
length
<
this
.
addMsg
.
SafeNum
){
num
=
this
.
addMsg
.
SafeNum
-
this
.
addMsg
.
GuestList
.
length
for
(
let
i
=
0
;
i
<
num
;
i
++
){
this
.
addMsg
.
GuestList
.
push
(
JSON
.
parse
(
JSON
.
stringify
(
this
.
GuestObj
)))
}
}
else
if
(
this
.
addMsg
.
GuestList
.
length
>
this
.
addMsg
.
SafeNum
){
num
=
this
.
addMsg
.
GuestList
.
length
-
this
.
addMsg
.
SafeNum
for
(
let
i
=
0
;
i
<
num
;
i
++
){
let
x
=
this
.
addMsg
.
GuestList
.
length
-
1
this
.
addMsg
.
GuestList
.
splice
(
x
,
1
)
// if(this.isGuest==0){
// this.addMsg.GuestList.splice(i,1)
// }else{
// let x = this.addMsg.GuestList.length-1
// this.addMsg.GuestList.splice(x,1)
// }
}
}
},
Transformation
(
val
,
type
,
index
)
{
let
text
=
this
.
pinyin
(
val
,
{
style
:
this
.
pinyin
.
STYLE_NORMAL
});
if
(
type
==
"SurName"
)
{
let
upText
=
text
.
join
(
""
).
toLocaleUpperCase
()
this
.
addMsg
.
GuestList
[
index
].
ESurName
=
upText
;
}
if
(
type
==
"Name"
)
{
let
upText
=
text
.
join
(
""
).
toLocaleUpperCase
()
this
.
addMsg
.
GuestList
[
index
].
EName
=
upText
;
}
},
getStartList
()
{
this
.
apipost
(
'sellorder_get_GetAllStartCity'
,
{},
...
...
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