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
30e913f7
Commit
30e913f7
authored
Jul 16, 2025
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
解决冲突
parents
62fedaa4
ed623665
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
421 additions
and
360 deletions
+421
-360
addPassenger.vue
src/components/SalesModule/addPassenger.vue
+228
-235
passengerSaleList.vue
src/components/SalesModule/passengerSaleList.vue
+62
-52
TicketManager.vue
src/components/Ticketing/TicketManager.vue
+92
-46
TravelticketManager.vue
src/components/TravelManager/Ticket/TravelticketManager.vue
+1
-1
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+18
-11
TravelControlListSale.vue
...onents/TravelManager/TravelList/TravelControlListSale.vue
+20
-15
No files found.
src/components/SalesModule/addPassenger.vue
View file @
30e913f7
...
@@ -149,7 +149,6 @@
...
@@ -149,7 +149,6 @@
<div
class=
"contForm"
>
<div
class=
"contForm"
>
<el-form
:model=
"addMsg"
ref=
"addMsg"
label-position=
"right"
:rules=
"rules"
label-width=
"100px"
>
<el-form
:model=
"addMsg"
ref=
"addMsg"
label-position=
"right"
:rules=
"rules"
label-width=
"100px"
>
<li>
<li>
<el-form-item
:label=
"$t('visaT.nationality')"
prop=
"Nationality"
>
<el-form-item
:label=
"$t('visaT.nationality')"
prop=
"Nationality"
>
<el-select
v-model=
"addMsg.Nationality"
filterable
size=
mini
class=
"w230"
>
<el-select
v-model=
"addMsg.Nationality"
filterable
size=
mini
class=
"w230"
>
<el-option
v-for=
"item in countryList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
<el-option
v-for=
"item in countryList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
...
@@ -158,23 +157,10 @@
...
@@ -158,23 +157,10 @@
</el-form-item>
</el-form-item>
</li>
</li>
<li
v-if=
"addMsg.Nationality==2"
>
<li
v-if=
"addMsg.Nationality==2"
>
<el-form-item
<el-form-item
:label=
"$t('visaT.Chinesesurname')"
prop=
"SurNameID"
>
:label=
"$t('visaT.Chinesesurname')"
prop=
"SurNameID"
>
<el-select
class=
"w230"
ref=
"options"
v-model=
"addMsg.SurNameID"
filterable
remote
reserve-keyword
<el-select
placeholder=
"请输入关键词"
:remote-method=
"(query)=>remoteMethod(query,1)"
@
change=
"(e)=>getName(e,1)"
>
class=
"w230"
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"`$
{item.name}`" :value="item.value">
ref=
"options"
v-model=
"addMsg.SurNameID"
filterable
remote
reserve-keyword
placeholder=
"请输入关键词"
:remote-method=
"(query)=>remoteMethod(query,1)"
@
change=
"(e)=>getName(e,1)"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"`$
{item.name}`"
:value="item.value">
<span
style=
"float: left"
>
{{
item
.
label
}}
</span>
<span
style=
"float: left"
>
{{
item
.
label
}}
</span>
<span
style=
"float: right; color: #8492a6; font-size: 13px"
>
{{
item
.
name
}}
</span>
<span
style=
"float: right; color: #8492a6; font-size: 13px"
>
{{
item
.
name
}}
</span>
</el-option>
</el-option>
...
@@ -182,23 +168,11 @@
...
@@ -182,23 +168,11 @@
</el-form-item>
</el-form-item>
</li>
</li>
<li
v-if=
"addMsg.Nationality==2"
>
<li
v-if=
"addMsg.Nationality==2"
>
<el-form-item
<el-form-item
:label=
"$t('admin.admin_Surname')"
prop=
"NameID"
>
:label=
"$t('admin.admin_Surname')"
prop=
"NameID"
>
<el-select
class=
"w230"
ref=
"optionsNames"
v-model=
"addMsg.NameID"
filterable
remote
reserve-keyword
<el-select
:placeholder=
"$t('rule.qsrzwm')"
:remote-method=
"(query)=>remoteMethod(query)"
class=
"w230"
ref=
"optionsNames"
v-model=
"addMsg.NameID"
filterable
remote
reserve-keyword
:placeholder=
"$t('rule.qsrzwm')"
:remote-method=
"(query)=>remoteMethod(query)"
@
change=
"(e)=>getName(e)"
>
@
change=
"(e)=>getName(e)"
>
<el-option
<el-option
v-for=
"item in optionsNames"
:key=
"item.value"
:label=
"`$
{item.name}`" :value="item.value">
v-for=
"item in optionsNames"
:key=
"item.value"
:label=
"`$
{item.name}`"
:value="item.value">
<span
style=
"float: left"
>
{{
item
.
label
}}
</span>
<span
style=
"float: left"
>
{{
item
.
label
}}
</span>
<span
style=
"float: right; color: #8492a6; font-size: 13px"
>
{{
item
.
name
}}
</span>
<span
style=
"float: right; color: #8492a6; font-size: 13px"
>
{{
item
.
name
}}
</span>
</el-option>
</el-option>
...
@@ -228,11 +202,11 @@
...
@@ -228,11 +202,11 @@
</el-input>
</el-input>
</el-form-item>
</el-form-item>
</li>
</li>
<li
>
<li>
<!-- v-if="LineId === 14 || LineId === 2"
-->
<!--国内线且国籍是中国的才验证身份证
-->
<el-form-item
:label=
"$t('admin.admin_IDcard')"
prop=
"IdCard"
v-if=
"
addMsg.Nationality==2"
>
<el-form-item
:label=
"$t('admin.admin_IDcard')"
prop=
"IdCard"
v-if=
"
LineId==90&&addMsg.Nationality==2"
>
<el-input
v-model=
"addMsg.IdCard"
type=
"text"
:class=
" IdCardSure ? '' : 'colorRed'"
size=
mini
class=
"w230"
<el-input
v-model=
"addMsg.IdCard"
type=
"text"
:class=
" IdCardSure ? '' : 'colorRed'"
size=
mini
:placeholder=
"$t('visaT.Pleasefillin')"
@
blur
.
prevent=
"authentication()"
>
class=
"w230"
:placeholder=
"$t('visaT.Pleasefillin')"
@
blur
.
prevent=
"authentication()"
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('admin.admin_IDcard')"
v-else
>
<el-form-item
:label=
"$t('admin.admin_IDcard')"
v-else
>
...
@@ -265,8 +239,8 @@
...
@@ -265,8 +239,8 @@
:placeholder=
"$t('visaT.ptxPassportNo')"
></el-input>
:placeholder=
"$t('visaT.ptxPassportNo')"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('system.table_Passport')"
prop=
"PassportNo"
v-else
>
<el-form-item
:label=
"$t('system.table_Passport')"
prop=
"PassportNo"
v-else
>
<el-input
v-model=
'addMsg.PassportNo'
:class=
" PassportNoSure ? '' : 'colorRed'"
type=
"text"
size=
mini
class=
"w230"
<el-input
v-model=
'addMsg.PassportNo'
:class=
" PassportNoSure ? '' : 'colorRed'"
type=
"text"
size=
mini
@
change=
"isValidPassport"
:placeholder=
"$t('visaT.ptxPassportNo')"
></el-input>
class=
"w230"
@
change=
"isValidPassport"
:placeholder=
"$t('visaT.ptxPassportNo')"
></el-input>
</el-form-item>
</el-form-item>
</li>
</li>
<li>
<li>
...
@@ -685,11 +659,11 @@
...
@@ -685,11 +659,11 @@
</el-form>
</el-form>
</div>
</div>
<p
style=
"text-align: center; padding: 20px 0;"
>
<p
style=
"text-align: center; padding: 20px 0;"
>
<
input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.cancelBtn')"
@
click=
"goBack"
/
>
<
el-button
plain
@
click=
"goBack"
size=
"small"
>
{{$t('pub.cancelBtn')}}
</el-button
>
<
input
type=
"button"
class=
"normalBtn"
:value=
"$t('pub.saveBtn')"
<
el-button
type=
"primary"
:loading=
"btnState"
@
click=
"submitForm('addMsg',1)"
size=
"small"
>
{{$t('pub.saveBtn')}}
:style=
"btnState===true?'':'background-color: gray'"
@
click=
"submitForm('addMsg',1)"
/
>
</el-button
>
<
input
v-if=
"this.addMsg.Id==0"
type=
"button"
class=
"normalBtn"
:value=
"$t('objFill.baocbjxtj')"
<
el-button
v-if=
"addMsg.Id==0"
type=
"primary"
:loading=
"btnState"
@
click=
"submitForm('addMsg',2)"
size=
"small"
>
:style=
"btnState===true?'':'background-color: gray'"
@
click=
"submitForm('addMsg',2)"
/
>
{{$t('objFill.baocbjxtj')}}
</el-button
>
</p>
</p>
</div>
</div>
</template>
</template>
...
@@ -703,8 +677,8 @@
...
@@ -703,8 +677,8 @@
DutyTypeList
:
[],
DutyTypeList
:
[],
ppAge
:
0
,
ppAge
:
0
,
loading
:
false
,
loading
:
false
,
PassportNoSure
:
true
,
PassportNoSure
:
true
,
IdCardSure
:
true
,
IdCardSure
:
true
,
templateType
:
1
,
templateType
:
1
,
templateSign
:
""
,
templateSign
:
""
,
imgBase64String
:
""
,
imgBase64String
:
""
,
...
@@ -857,7 +831,7 @@
...
@@ -857,7 +831,7 @@
trigger
:
"blur"
trigger
:
"blur"
},
},
{
{
pattern
:
/^
[
0-9a-zA-Z
]
+$/
,
//this.isValidPassport(),
pattern
:
/^
[
0-9a-zA-Z
]
+$/
,
//this.isValidPassport(),
message
:
this
.
$t
(
'visaT.zqdhzh'
)
message
:
this
.
$t
(
'visaT.zqdhzh'
)
}
}
],
],
...
@@ -912,11 +886,11 @@
...
@@ -912,11 +886,11 @@
VisaStartStatus
:
2
,
VisaStartStatus
:
2
,
AirStartStatus
:
2
,
AirStartStatus
:
2
,
SafeStartStatus
:
2
,
SafeStartStatus
:
2
,
btnState
:
tru
e
,
btnState
:
fals
e
,
roomlist
:
[],
roomlist
:
[],
isOneDay
:
0
,
isOneDay
:
0
,
LineId
:
0
,
LineId
:
0
,
GroupStartDateStr
:
''
,
//出发团期
GroupStartDateStr
:
''
,
//出发团期
EndDateStr
:
''
,
EndDateStr
:
''
,
guoqi
:
false
,
guoqi
:
false
,
JingDianList
:
[],
JingDianList
:
[],
...
@@ -925,32 +899,37 @@
...
@@ -925,32 +899,37 @@
};
};
},
},
methods
:
{
methods
:
{
getName
(
e
,
type
)
{
getName
(
e
,
type
)
{
let
findIndex
let
findIndex
if
(
type
)
{
if
(
type
)
{
findIndex
=
this
.
options
.
findIndex
(
x
=>
x
.
value
==
e
)
findIndex
=
this
.
options
.
findIndex
(
x
=>
x
.
value
==
e
)
let
obj
=
this
.
options
[
findIndex
]
let
obj
=
this
.
options
[
findIndex
]
this
.
addMsg
.
SurName
=
obj
.
name
.
toUpperCase
();
this
.
addMsg
.
SurName
=
obj
.
name
.
toUpperCase
();
this
.
addMsg
.
ESurName
=
obj
.
label
.
toUpperCase
();
this
.
addMsg
.
ESurName
=
obj
.
label
.
toUpperCase
();
}
else
{
}
else
{
findIndex
=
this
.
optionsNames
.
findIndex
(
x
=>
x
.
value
==
e
)
findIndex
=
this
.
optionsNames
.
findIndex
(
x
=>
x
.
value
==
e
)
let
obj
=
this
.
optionsNames
[
findIndex
]
let
obj
=
this
.
optionsNames
[
findIndex
]
this
.
addMsg
.
Name
=
obj
.
name
.
toUpperCase
();
this
.
addMsg
.
Name
=
obj
.
name
.
toUpperCase
();
this
.
addMsg
.
EName
=
obj
.
label
.
toUpperCase
();
this
.
addMsg
.
EName
=
obj
.
label
.
toUpperCase
();
}
}
},
},
remoteMethod
(
query
,
type
)
{
remoteMethod
(
query
,
type
)
{
if
(
query
!==
''
)
{
if
(
query
!==
''
)
{
if
(
type
==
1
)
{
if
(
type
==
1
)
{
if
(
query
!=
this
.
addMsg
.
SurName
)
this
.
addMsg
.
SurName
=
query
if
(
query
!=
this
.
addMsg
.
SurName
)
{
this
.
Transformation
(
query
,
'SurName'
)
this
.
addMsg
.
SurName
=
query
;
this
.
addMsg
.
SurNameID
=
""
;
}
this
.
Transformation
(
query
,
'SurName'
)
}
else
{
if
(
query
!=
this
.
addMsg
.
Name
)
{
this
.
addMsg
.
Name
=
query
;
this
.
addMsg
.
NameID
=
''
;
}
}
else
{
this
.
Transformation
(
query
,
'Name'
)
if
(
query
!=
this
.
addMsg
.
Name
)
this
.
addMsg
.
Name
=
query
this
.
Transformation
(
query
,
'Name'
)
}
}
}
else
{
}
else
{
if
(
type
==
1
)
this
.
options
=
[];
if
(
type
==
1
)
this
.
options
=
[];
else
this
.
optionsNames
=
[]
else
this
.
optionsNames
=
[]
}
}
},
},
...
@@ -1187,18 +1166,41 @@
...
@@ -1187,18 +1166,41 @@
history
.
go
(
-
1
);
history
.
go
(
-
1
);
},
},
submitForm
(
addMsg
,
type
)
{
submitForm
(
addMsg
,
type
)
{
if
(
this
.
btnState
===
true
)
{
this
.
timeOver
()
// if(this.LineId!=90&&this.addMsg.Nationality===2&& !this.isValidPassport(this.addMsg.PassportNo)){
var
result
=
this
.
isValidPassport
()
// this.Error(this.$t('visaT.Pleasefillin')+this.$t('visaT.zqdhzh'));
if
(
!
result
)
{
// return false;
return
;
// }
}
if
(
this
.
LineId
==
90
&&
this
.
addMsg
.
Nationality
===
2
)
{
if
(
this
.
addMsg
.
IdCard
==
''
)
{
this
.
$message
.
error
(
this
.
$t
(
'objFill.qingtxsfzhm'
));
return
;
}
if
(
!
this
.
isValidIdCardFormat
(
this
.
addMsg
.
IdCard
))
{
this
.
$message
.
error
(
"无效的身份证号码"
);
return
;
}
}
this
.
addMsg
.
EconomicCapabilityList
=
[];
this
.
EconomicCapabilityS
.
forEach
(
x
=>
{
if
(
x
.
isShow
==
true
)
{
this
.
addMsg
.
EconomicCapabilityList
.
push
({
Key
:
x
.
Name
,
Value
:
x
.
Content
,
ID
:
x
.
ID
});
}
});
if
(
this
.
addMsg
.
Marriage
==
""
)
{
this
.
addMsg
.
Marriage
=
"0"
;
}
//提交创建、修改表单
//提交创建、修改表单
this
.
$refs
[
addMsg
].
validate
(
valid
=>
{
this
.
$refs
[
addMsg
].
validate
(
valid
=>
{
this
.
btnState
=
false
if
(
valid
)
{
if
(
valid
)
{
this
.
savePassenger
(
type
);
this
.
btnState
=
true
;
this
.
seveInfo
(
type
);
}
else
{
}
else
{
this
.
btnState
=
true
this
.
btnState
=
false
;
if
(
this
.
addMsg
.
Nationality
==
2
&&
this
.
addMsg
.
SurName
==
''
)
{
if
(
this
.
addMsg
.
Nationality
==
2
&&
this
.
addMsg
.
SurName
==
''
)
{
this
.
Error
(
this
.
$t
(
'objFill.v101.Rest.qingtxgrxx'
)[
0
]);
this
.
Error
(
this
.
$t
(
'objFill.v101.Rest.qingtxgrxx'
)[
0
]);
return
false
;
return
false
;
...
@@ -1254,52 +1256,22 @@
...
@@ -1254,52 +1256,22 @@
return
false
;
return
false
;
}
}
});
});
}
},
savePassenger
(
type
)
{
this
.
timeOver
()
var
result
=
this
.
isValidPassport
()
if
(
!
result
)
{
return
;
}
if
(
this
.
addMsg
.
Nationality
===
2
&&
!
this
.
isValidIdCardFormat
(
this
.
addMsg
.
IdCard
)){
this
.
$message
.
error
(
"无效的身份证号码"
);
return
;
}
if
((
this
.
LineId
===
14
||
this
.
LineId
===
2
)
&&
this
.
addMsg
.
IdCard
===
''
&&
this
.
addMsg
.
Nationality
==
2
)
{
return
this
.
$message
.
error
(
this
.
$t
(
'objFill.qingtxsfzhm'
));
}
this
.
addMsg
.
EconomicCapabilityList
=
[];
this
.
EconomicCapabilityS
.
forEach
(
x
=>
{
if
(
x
.
isShow
==
true
)
{
this
.
addMsg
.
EconomicCapabilityList
.
push
({
Key
:
x
.
Name
,
Value
:
x
.
Content
,
ID
:
x
.
ID
});
}
});
if
(
this
.
addMsg
.
Marriage
==
""
)
{
this
.
addMsg
.
Marriage
=
"0"
;
}
this
.
seveInfo
(
type
)
},
},
seveInfo
(
type
)
{
seveInfo
(
type
)
{
this
.
apipost
(
this
.
apipost
(
"sellorder_post_SetTravelGuestInfo_V2"
,
"sellorder_post_SetTravelGuestInfo_V2"
,
this
.
addMsg
,
this
.
addMsg
,
res
=>
{
res
=>
{
this
.
btnState
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
$message
.
success
(
res
.
data
.
message
);
if
(
type
==
1
)
{
if
(
type
==
1
)
{
history
.
go
(
-
1
);
history
.
go
(
-
1
);
}
else
{
}
else
{
this
.
btnState
=
true
this
.
ClearData
();
this
.
ClearData
();
}
}
}
else
{
}
else
{
this
.
btnState
=
true
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
$message
.
error
(
res
.
data
.
message
);
}
}
},
},
...
@@ -1345,7 +1317,6 @@
...
@@ -1345,7 +1317,6 @@
}
}
return
combinations
.
join
(
","
);
return
combinations
.
join
(
","
);
},
},
combinePinyinDP
(
pinyinArrays
)
{
combinePinyinDP
(
pinyinArrays
)
{
const
result
=
[];
const
result
=
[];
const
dfs
=
(
index
,
currentStr
)
=>
{
const
dfs
=
(
index
,
currentStr
)
=>
{
...
@@ -1360,16 +1331,14 @@
...
@@ -1360,16 +1331,14 @@
dfs
(
0
,
""
);
dfs
(
0
,
""
);
return
result
.
join
(
","
);
return
result
.
join
(
","
);
},
},
Transformation
(
val
,
type
,
input
)
{
Transformation
(
val
,
type
,
input
)
{
let
text
=
this
.
pinyin
(
val
,
{
let
text
=
this
.
pinyin
(
val
,
{
heteronym
:
true
,
// 启用多音字模式
heteronym
:
true
,
// 启用多音字模式
style
:
this
.
pinyin
.
STYLE_NORMAL
,
style
:
this
.
pinyin
.
STYLE_NORMAL
,
segment
:
true
segment
:
true
});
});
// 如果当前字是 "茜",则替换为自定义拼音
// 如果当前字是 "茜",则替换为自定义拼音
if
(
val
.
includes
(
'茜'
))
{
if
(
val
.
includes
(
'茜'
))
{
text
=
text
.
map
(
pinyinArr
=>
{
text
=
text
.
map
(
pinyinArr
=>
{
if
(
pinyinArr
[
0
]
===
'qian'
)
{
// 默认返回的是 qian
if
(
pinyinArr
[
0
]
===
'qian'
)
{
// 默认返回的是 qian
return
[
'qiàn'
,
'xī'
];
// 替换成自定义多音字
return
[
'qiàn'
,
'xī'
];
// 替换成自定义多音字
...
@@ -1377,77 +1346,71 @@
...
@@ -1377,77 +1346,71 @@
return
pinyinArr
;
return
pinyinArr
;
});
});
}
}
console
.
log
(
"text"
,
text
);
const
pinyinArray
=
text
const
pinyinArray
=
text
const
result
=
this
.
combinePinyinDP
(
pinyinArray
);
const
result
=
this
.
combinePinyinDP
(
pinyinArray
);
if
(
type
==
"SurName"
)
{
if
(
type
==
"SurName"
)
{
let
upText
=
result
let
upText
=
result
// this.addMsg.ESurName = upText;
this
.
options
=
[]
this
.
options
=
[]
let
names
=
upText
.
split
(
','
)
let
names
=
upText
.
split
(
','
)
names
.
forEach
((
x
,
index
)
=>
{
names
.
forEach
((
x
,
index
)
=>
{
this
.
options
.
push
({
this
.
options
.
push
({
label
:
x
.
toUpperCase
(),
label
:
x
.
toUpperCase
(),
value
:
index
+
1
,
value
:
index
+
1
,
name
:
this
.
addMsg
.
SurName
.
toUpperCase
(),
name
:
this
.
addMsg
.
SurName
.
toUpperCase
(),
})
})
})
})
if
(
names
!=
null
&&
names
.
length
==
1
)
{
if
(
names
!=
null
&&
names
.
length
==
1
)
{
if
(
input
)
{
if
(
input
)
{
this
.
addMsg
.
SurNameID
=
this
.
options
[
0
].
value
;
this
.
addMsg
.
SurNameID
=
this
.
options
[
0
].
value
;
this
.
addMsg
.
ESurName
=
this
.
options
[
0
].
label
;
this
.
addMsg
.
ESurName
=
this
.
options
[
0
].
label
;
}
else
{
}
else
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
addMsg
.
SurNameID
=
this
.
options
[
0
].
value
;
this
.
addMsg
.
SurNameID
=
this
.
options
[
0
].
value
;
this
.
addMsg
.
ESurName
=
this
.
options
[
0
].
label
;
this
.
addMsg
.
ESurName
=
this
.
options
[
0
].
label
;
},
500
);
},
500
);
}
}
}
else
{
}
else
{
let
findIndex
=
this
.
options
.
findIndex
(
x
=>
x
.
label
==
this
.
addMsg
.
ESurName
)
let
findIndex
=
this
.
options
.
findIndex
(
x
=>
x
.
label
==
this
.
addMsg
.
ESurName
)
if
(
findIndex
!=
-
1
)
{
if
(
findIndex
!=-
1
){
this
.
addMsg
.
SurNameID
=
this
.
options
[
findIndex
].
value
;
this
.
addMsg
.
SurNameID
=
this
.
options
[
findIndex
].
value
;
}
else
{
}
else
{
this
.
addMsg
.
SurNameID
=
''
;
this
.
addMsg
.
SurNameID
=
''
;
this
.
addMsg
.
ESurName
=
''
;
this
.
addMsg
.
ESurName
=
''
;
}
}
}
}
this
.
$forceUpdate
()
this
.
$forceUpdate
()
}
}
if
(
type
==
"Name"
)
{
if
(
type
==
"Name"
)
{
let
upText
=
result
let
upText
=
result
// this.addMsg.EName = upText;
this
.
optionsNames
=
[]
this
.
optionsNames
=
[]
let
names
=
upText
.
split
(
','
)
let
names
=
upText
.
split
(
','
)
names
.
forEach
((
x
,
index
)
=>
{
names
.
forEach
((
x
,
index
)
=>
{
this
.
optionsNames
.
push
({
this
.
optionsNames
.
push
({
label
:
x
.
toUpperCase
(),
label
:
x
.
toUpperCase
(),
value
:
index
+
1
,
value
:
index
+
1
,
name
:
this
.
addMsg
.
Name
.
toUpperCase
(),
name
:
this
.
addMsg
.
Name
.
toUpperCase
(),
})
})
})
})
if
(
names
!=
null
&&
names
.
length
==
1
)
{
if
(
names
!=
null
&&
names
.
length
==
1
)
{
if
(
input
)
{
if
(
input
)
{
this
.
addMsg
.
NameID
=
this
.
optionsNames
[
0
].
value
;
this
.
addMsg
.
NameID
=
this
.
optionsNames
[
0
].
value
;
this
.
addMsg
.
EName
=
this
.
optionsNames
[
0
].
label
;
this
.
addMsg
.
EName
=
this
.
optionsNames
[
0
].
label
;
}
else
{
}
else
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
if
(
this
.
optionsNames
.
length
>
0
)
{
if
(
this
.
optionsNames
.
length
>
0
)
{
this
.
addMsg
.
NameID
=
this
.
optionsNames
[
0
].
value
;
this
.
addMsg
.
NameID
=
this
.
optionsNames
[
0
].
value
;
this
.
addMsg
.
EName
=
this
.
optionsNames
[
0
].
label
;
this
.
addMsg
.
EName
=
this
.
optionsNames
[
0
].
label
;
}
}
},
500
);
},
500
);
}
}
}
else
{
}
else
{
let
findIndex
=
this
.
optionsNames
.
findIndex
(
x
=>
x
.
label
==
this
.
addMsg
.
EName
)
let
findIndex
=
this
.
optionsNames
.
findIndex
(
x
=>
x
.
label
==
this
.
addMsg
.
EName
)
if
(
findIndex
!=-
1
)
{
if
(
findIndex
!=
-
1
)
{
this
.
addMsg
.
NameID
=
this
.
optionsNames
[
findIndex
].
value
;
this
.
addMsg
.
NameID
=
this
.
optionsNames
[
findIndex
].
value
;
return
return
}
}
this
.
addMsg
.
NameID
=
''
;
this
.
addMsg
.
NameID
=
''
;
this
.
addMsg
.
EName
=
''
;
this
.
addMsg
.
EName
=
''
;
}
}
}
}
this
.
$forceUpdate
()
this
.
$forceUpdate
()
...
@@ -1556,6 +1519,28 @@
...
@@ -1556,6 +1519,28 @@
}
}
return
isCheck
;
return
isCheck
;
},
},
//中国护照验证逻辑
isValidPassport
:
function
()
{
var
isCheck
=
true
;
if
(
this
.
addMsg
.
PassportNo
.
length
!==
9
)
{
this
.
$message
.
error
(
"请输入9位护照号"
)
isCheck
=
false
;
return
;
}
if
(
this
.
addMsg
.
Nationality
===
2
)
{
// 单个字母开头(E或G)后跟8位数字
const
pattern1
=
/^
[
EGH
][
0-9
]{8}
$/
;
// 两个字母开头(E开头,第二个字母不能是I或O)后跟7位数字
const
pattern2
=
/^E
[
A-HJ-NP-Z
][
0-9
]{7}
$/
;
this
.
PassportNoSure
=
pattern1
.
test
(
this
.
addMsg
.
PassportNo
)
||
pattern2
.
test
(
this
.
addMsg
.
PassportNo
);
if
(
!
this
.
PassportNoSure
)
{
this
.
$message
.
error
(
"护照格式不正确"
)
isCheck
=
false
;
return
;
}
}
return
isCheck
;
},
getVisaApplyForTypeEnum
()
{
getVisaApplyForTypeEnum
()
{
// 获取申请类型
// 获取申请类型
this
.
apipost
(
this
.
apipost
(
...
@@ -1653,8 +1638,8 @@
...
@@ -1653,8 +1638,8 @@
if
(
this
.
$route
.
query
.
isOneDay
===
1
)
{
if
(
this
.
$route
.
query
.
isOneDay
===
1
)
{
this
.
addMsg
.
IsBed
=
0
this
.
addMsg
.
IsBed
=
0
}
}
this
.
Transformation
(
this
.
addMsg
.
SurName
,
'SurName'
,
1
)
this
.
Transformation
(
this
.
addMsg
.
SurName
,
'SurName'
,
1
)
this
.
Transformation
(
this
.
addMsg
.
Name
,
'Name'
,
2
)
this
.
Transformation
(
this
.
addMsg
.
Name
,
'Name'
,
2
)
}
else
{
}
else
{
this
.
$message
.
error
();
this
.
$message
.
error
();
}
}
...
@@ -1690,6 +1675,10 @@
...
@@ -1690,6 +1675,10 @@
);
);
},
},
ClearData
()
{
ClearData
()
{
this
.
options
=
[];
this
.
optionsNames
=
[];
this
.
addMsg
.
SurNameID
=
""
;
this
.
addMsg
.
NameID
=
""
;
this
.
addMsg
.
SurName
=
""
;
this
.
addMsg
.
SurName
=
""
;
this
.
addMsg
.
Name
=
""
;
this
.
addMsg
.
Name
=
""
;
this
.
addMsg
.
Sex
=
""
;
this
.
addMsg
.
Sex
=
""
;
...
@@ -1863,16 +1852,22 @@
...
@@ -1863,16 +1852,22 @@
this
.
addMsg
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
addMsg
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
addMsg
.
OrderId
=
this
.
$route
.
query
.
orderId
;
this
.
addMsg
.
OrderId
=
this
.
$route
.
query
.
orderId
;
this
.
Roominformation
()
//调取下房间信息
this
.
Roominformation
()
//调取下房间信息
this
.
Transformation
(
this
.
addMsg
.
SurName
,
'SurName'
,
1
)
this
.
Transformation
(
this
.
addMsg
.
Name
,
'Name'
,
2
)
if
(
this
.
LineId
==
90
&&
this
.
addMsg
.
Nationality
==
2
)
{
this
.
addMsg
.
Birthday
=
this
.
getBirthdayFromIdCard
(
IdCard
);
}
}
}
},
},
err
=>
{}
err
=>
{}
);
);
}
}
}
}
if
(
this
.
LineId
==
90
&&
this
.
addMsg
.
Nationality
==
2
)
{
this
.
addMsg
.
Birthday
=
this
.
getBirthdayFromIdCard
(
IdCard
);
this
.
addMsg
.
Birthday
=
this
.
getBirthdayFromIdCard
(
IdCard
);
}
},
},
//验证身份证号码
isValidIdCardFormat
(
idCard
)
{
isValidIdCardFormat
(
idCard
)
{
const
reg
=
/^
[
1-9
]\d{5}(
18|19|20
)\d{2}(
0
[
1-9
]
|1
[
0-2
])(
0
[
1-9
]
|
[
12
]\d
|3
[
01
])\d{3}[\d
Xx
]
$/
;
const
reg
=
/^
[
1-9
]\d{5}(
18|19|20
)\d{2}(
0
[
1-9
]
|1
[
0-2
])(
0
[
1-9
]
|
[
12
]\d
|3
[
01
])\d{3}[\d
Xx
]
$/
;
return
reg
.
test
(
idCard
);
return
reg
.
test
(
idCard
);
...
@@ -1881,16 +1876,14 @@
...
@@ -1881,16 +1876,14 @@
// 去除空格并转换为大写(处理末尾可能的小写x)
// 去除空格并转换为大写(处理末尾可能的小写x)
idCard
=
(
idCard
||
''
).
trim
().
toUpperCase
();
idCard
=
(
idCard
||
''
).
trim
().
toUpperCase
();
const
len
=
idCard
.
length
;
const
len
=
idCard
.
length
;
if
(
len
>
0
)
{
// 验证身份证长度
// 验证身份证长度
if
(
len
!==
15
&&
len
!==
18
)
{
if
(
len
!==
15
&&
len
!==
18
)
{
this
.
$message
.
error
(
"无效的身份证号码"
);
this
.
$message
.
error
(
"无效的身份证号码"
);
this
.
IdCardSure
=
false
;
this
.
IdCardSure
=
false
;
return
""
;
return
""
;
}
}
let
year
,
month
,
day
;
let
year
,
month
,
day
;
if
(
len
===
15
)
{
// 15位身份证
if
(
len
===
15
)
{
// 15位身份证
year
=
'19'
+
idCard
.
substring
(
6
,
8
);
// 年份补19前缀
year
=
'19'
+
idCard
.
substring
(
6
,
8
);
// 年份补19前缀
month
=
idCard
.
substring
(
8
,
10
);
month
=
idCard
.
substring
(
8
,
10
);
...
@@ -1900,17 +1893,17 @@
...
@@ -1900,17 +1893,17 @@
month
=
idCard
.
substring
(
10
,
12
);
month
=
idCard
.
substring
(
10
,
12
);
day
=
idCard
.
substring
(
12
,
14
);
day
=
idCard
.
substring
(
12
,
14
);
}
}
// 日期有效性验证
// 日期有效性验证
const
date
=
new
Date
(
`
${
year
}
-
${
month
}
-
${
day
}
`
);
const
date
=
new
Date
(
`
${
year
}
-
${
month
}
-
${
day
}
`
);
if
(
isNaN
(
date
.
getTime
()))
{
if
(
isNaN
(
date
.
getTime
()))
{
this
.
$message
.
error
(
"身份证中的出生日期无效"
);
this
.
$message
.
error
(
"身份证中的出生日期无效"
);
this
.
IdCardSure
=
false
;
this
.
IdCardSure
=
false
;
return
""
;
return
""
;
}
}
this
.
IdCardSure
=
true
;
this
.
IdCardSure
=
true
;
// 返回格式化的出生日期(YYYY-MM-DD)
// 返回格式化的出生日期(YYYY-MM-DD)
return
`
${
year
}
-
${
month
.
padStart
(
2
,
'0'
)}
-
${
day
.
padStart
(
2
,
'0'
)}
`
;
return
`
${
year
}
-
${
month
.
padStart
(
2
,
'0'
)}
-
${
day
.
padStart
(
2
,
'0'
)}
`
;
}
},
},
getData
:
function
()
{
getData
:
function
()
{
...
...
src/components/SalesModule/passengerSaleList.vue
View file @
30e913f7
...
@@ -4,7 +4,9 @@
...
@@ -4,7 +4,9 @@
<template
v-if=
"isOrder==0"
>
<template
v-if=
"isOrder==0"
>
<span
style=
"color:red;"
>
{{
$t
(
'objFill.opygbddcz'
)
}}
</span>
<span
style=
"color:red;"
>
{{
$t
(
'objFill.opygbddcz'
)
}}
</span>
</
template
>
</
template
>
<
template
v-if=
"isOrder==1 && !isDis"
>
<div
v-show=
"tableList.length
<guestNum
&&
IsLeaderOrder
>
0" @click="showSetLeader=true;getBranchList()">
{{
$t
(
'objFill.v101.Rest.xuanzhelddy'
)
}}
</div>
<
template
v-if=
"isOrder==1 && !isDis"
>
<div
v-show=
"tableList.length
<guestNum
&&
IsLeaderOrder
>
0" @click="showSetLeader=true;getBranchList()">
{{
$t
(
'objFill.v101.Rest.xuanzhelddy'
)
}}
</div>
<div
v-show=
"tableList.length
<guestNum
"
@
click=
"goUrlA(0)"
>
{{
$t
(
'pub.addBtn'
)
}}
</div>
<div
v-show=
"tableList.length
<guestNum
"
@
click=
"goUrlA(0)"
>
{{
$t
(
'pub.addBtn'
)
}}
</div>
</
template
>
</
template
>
...
@@ -57,15 +59,18 @@
...
@@ -57,15 +59,18 @@
<td
style=
"color:red;"
>
{{item.IsHightSchool==1?$t('objFill.xuesheng'):""}}
</td>
<td
style=
"color:red;"
>
{{item.IsHightSchool==1?$t('objFill.xuesheng'):""}}
</td>
<td>
<td>
<el-button-group>
<el-button-group>
<el-tooltip
v-if=
"isOrder==1 && !isDis"
class=
"item"
effect=
"dark"
:content=
"$t('pub.updateMsg')"
placement=
"top-start"
>
<el-tooltip
v-if=
"isOrder==1 && !isDis"
class=
"item"
effect=
"dark"
:content=
"$t('pub.updateMsg')"
placement=
"top-start"
>
<el-button
type=
"primary"
style=
'background:#00C6FF; border-color:#00C6FF'
<el-button
type=
"primary"
style=
'background:#00C6FF; border-color:#00C6FF'
icon=
"iconfont icon-bianji-smal"
@
click=
"goUrlA(item.Id)"
></el-button>
icon=
"iconfont icon-bianji-smal"
@
click=
"goUrlA(item.Id)"
></el-button>
</el-tooltip>
</el-tooltip>
<el-tooltip
v-if=
"isOrder==1 && !isDis"
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
>
<el-tooltip
v-if=
"isOrder==1 && !isDis"
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
>
<el-button
type=
"primary"
style=
'background:#e95252; border-color:#e95252'
<el-button
type=
"primary"
style=
'background:#e95252; border-color:#e95252'
icon=
"iconfont icon-shanchu"
@
click=
"pal_del(item)"
></el-button>
icon=
"iconfont icon-shanchu"
@
click=
"pal_del(item)"
></el-button>
</el-tooltip>
</el-tooltip>
<el-tooltip
v-if=
"isOrder==1 && !isDis"
class=
"item"
effect=
"dark"
:content=
"$t('objFill.xiazasqb')"
placement=
"top-start"
>
<el-tooltip
v-if=
"isOrder==1 && !isDis"
class=
"item"
effect=
"dark"
:content=
"$t('objFill.xiazasqb')"
placement=
"top-start"
>
<el-button
type=
"primary"
style=
'background:#9E8DE3; border-color:#9E8DE3'
<el-button
type=
"primary"
style=
'background:#9E8DE3; border-color:#9E8DE3'
icon=
"iconfont icon-img_download"
@
click=
"goUrlB(item.Id)"
></el-button>
icon=
"iconfont icon-img_download"
@
click=
"goUrlB(item.Id)"
></el-button>
</el-tooltip>
</el-tooltip>
...
@@ -80,7 +85,6 @@
...
@@ -80,7 +85,6 @@
</tbody>
</tbody>
</table>
</table>
</div>
</div>
<div
class=
"combottomDiv"
v-if=
"showSetLeader"
v-loading=
"loadingSet"
>
<div
class=
"combottomDiv"
v-if=
"showSetLeader"
v-loading=
"loadingSet"
>
<div
class=
"combottomTitle"
>
{{ $t("ground.szlindui") }}
</div>
<div
class=
"combottomTitle"
>
{{ $t("ground.szlindui") }}
</div>
<div
class=
"clearfix"
>
<div
class=
"clearfix"
>
...
@@ -103,7 +107,8 @@
...
@@ -103,7 +107,8 @@
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<el-form-item
:label=
"$t('system.query_name')"
prop=
"lineCode"
>
<el-form-item
:label=
"$t('system.query_name')"
prop=
"lineCode"
>
<el-input
v-model=
"leaderQueryMsg.LeaderName"
@
keyup
.
enter
.
native=
"getLeaderList"
:placeholder=
"$t('tips.srgjzjxguolv')"
></el-input>
<el-input
v-model=
"leaderQueryMsg.LeaderName"
@
keyup
.
enter
.
native=
"getLeaderList"
:placeholder=
"$t('tips.srgjzjxguolv')"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
...
@@ -123,7 +128,7 @@
...
@@ -123,7 +128,7 @@
</div>
</div>
<div
class=
"RL_ListDiv"
>
<div
class=
"RL_ListDiv"
>
<div
class=
"LeaderSpan"
:class=
"{ ckedClass: ckedIndex == index }"
v-for=
"(item, index) in leaderListArr"
<div
class=
"LeaderSpan"
:class=
"{ ckedClass: ckedIndex == index }"
v-for=
"(item, index) in leaderListArr"
:key=
"item.subCode"
@
click=
"getLeaderInfo(index, item.LeaderId)"
style=
"margin:5px 0px 0px 5px;"
>
:key=
"item.subCode"
@
click=
"getLeaderInfo(index, item.LeaderId)"
style=
"margin:5px 0px 0px 5px;"
>
<span
class=
"RL_LeaderName"
>
{{ item.LeaderName }}:{{item.IdCard }}/ {{item.Passport }} /{{item.MobilePhone }}【{{
<span
class=
"RL_LeaderName"
>
{{ item.LeaderName }}:{{item.IdCard }}/ {{item.Passport }} /{{item.MobilePhone }}【{{
getLeaderTypeStr(item.Type, item.LeaderGuidClass)
getLeaderTypeStr(item.Type, item.LeaderGuidClass)
}}】
</span>
}}】
</span>
...
@@ -133,9 +138,8 @@
...
@@ -133,9 +138,8 @@
</div>
</div>
</div>
</div>
<div
class=
"clearfix "
style=
"float: left;width: 5%;"
>
<div
class=
"clearfix "
style=
"float: left;width: 5%;"
>
<div
>
<div>
<input
type=
"button"
class=
"normalBtn"
@
click=
"setTheLeader"
<input
type=
"button"
class=
"normalBtn"
@
click=
"setTheLeader"
:value=
"$t('pub.sureBtn')"
/>
:value=
"$t('pub.sureBtn')"
/>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -155,10 +159,10 @@
...
@@ -155,10 +159,10 @@
tcid
:
'0'
,
tcid
:
'0'
,
tcnum
:
'0'
tcnum
:
'0'
},
},
setMsg
:{
setMsg
:
{
OrderId
:
0
,
OrderId
:
0
,
TCID
:
0
,
TCID
:
0
,
NewGuestId
:
0
,
NewGuestId
:
0
,
},
},
guestNum
:
0
,
guestNum
:
0
,
isOrder
:
0
,
isOrder
:
0
,
...
@@ -167,7 +171,7 @@
...
@@ -167,7 +171,7 @@
LineId
:
0
,
LineId
:
0
,
EndDateStr
:
""
,
EndDateStr
:
""
,
isDis
:
false
,
isDis
:
false
,
IsLeaderOrder
:
0
,
IsLeaderOrder
:
0
,
leaderQueryMsg
:
{
leaderQueryMsg
:
{
QTCID
:
0
,
QTCID
:
0
,
CountryID
:
0
,
CountryID
:
0
,
...
@@ -177,13 +181,13 @@
...
@@ -177,13 +181,13 @@
},
},
//验证重复提交
//验证重复提交
isSubmit
:
true
,
isSubmit
:
true
,
ckedIndex
:
-
1
,
ckedIndex
:
-
1
,
//领队或者领兼地
//领队或者领兼地
isLeaderType
:
""
,
isLeaderType
:
""
,
leaderTypeArray
:
[{
leaderTypeArray
:
[{
Id
:
0
,
Id
:
0
,
Text
:
this
.
$t
(
'objFill.qingxuanzhe'
),
Text
:
this
.
$t
(
'objFill.qingxuanzhe'
),
},{
},
{
Id
:
2
,
Id
:
2
,
Text
:
this
.
$t
(
'objFill.lingduijdy'
),
Text
:
this
.
$t
(
'objFill.lingduijdy'
),
},
},
...
@@ -198,8 +202,8 @@
...
@@ -198,8 +202,8 @@
],
],
//分公司列表
//分公司列表
BranchList
:
[],
BranchList
:
[],
showSetLeader
:
false
,
showSetLeader
:
false
,
loadingSet
:
false
,
loadingSet
:
false
,
leaderListArr
:
[],
leaderListArr
:
[],
};
};
},
},
...
@@ -229,17 +233,16 @@
...
@@ -229,17 +233,16 @@
}
}
},
},
//点击选中名单
//点击选中名单
getLeaderInfo
(
index
,
LeaderId
)
{
getLeaderInfo
(
index
,
LeaderId
)
{
this
.
ckedIndex
=
index
;
this
.
ckedIndex
=
index
;
this
.
setMsg
.
NewGuestId
=
LeaderId
this
.
setMsg
.
NewGuestId
=
LeaderId
},
},
getLeaderTypeStr
:
function
(
type
,
clas
)
{
getLeaderTypeStr
:
function
(
type
,
clas
)
{
if
(
type
==
2
)
{
if
(
type
==
2
)
{
return
this
.
$t
(
'leader.leader_leaderDi'
);
return
this
.
$t
(
'leader.leader_leaderDi'
);
}
else
if
(
type
==
3
)
{
}
else
if
(
type
==
3
)
{
return
this
.
$t
(
'leader.leader_Guide'
);
return
this
.
$t
(
'leader.leader_Guide'
);
}
}
else
if
(
type
==
1
&&
clas
==
0
)
{
else
if
(
type
==
1
&&
clas
==
0
)
{
return
this
.
$t
(
'leader.leader_Leader'
);
return
this
.
$t
(
'leader.leader_Leader'
);
}
else
if
(
type
==
1
&&
clas
==
1
)
{
}
else
if
(
type
==
1
&&
clas
==
1
)
{
return
this
.
$t
(
'op.THLeader'
);
return
this
.
$t
(
'op.THLeader'
);
...
@@ -275,11 +278,11 @@
...
@@ -275,11 +278,11 @@
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
leaderListArr
=
res
.
data
.
data
.
LeaderData
;
this
.
leaderListArr
=
res
.
data
.
data
.
LeaderData
;
this
.
ScheduleArray
=
res
.
data
.
data
.
ScheduleData
;
this
.
ScheduleArray
=
res
.
data
.
data
.
ScheduleData
;
if
(
this
.
leaderQueryMsg
.
LeaderType
==
1
)
{
//1领队2领队兼导游3导游
if
(
this
.
leaderQueryMsg
.
LeaderType
==
1
)
{
//1领队2领队兼导游3导游
this
.
isLeaderType
=
this
.
$t
(
'leader.leader_Leader'
);
this
.
isLeaderType
=
this
.
$t
(
'leader.leader_Leader'
);
}
else
if
(
this
.
leaderQueryMsg
.
LeaderType
==
2
)
{
}
else
if
(
this
.
leaderQueryMsg
.
LeaderType
==
2
)
{
this
.
isLeaderType
=
this
.
$t
(
'leader.leader_leaderDi'
);
this
.
isLeaderType
=
this
.
$t
(
'leader.leader_leaderDi'
);
}
else
if
(
this
.
leaderQueryMsg
.
LeaderType
==
3
)
{
}
else
if
(
this
.
leaderQueryMsg
.
LeaderType
==
3
)
{
this
.
isLeaderType
=
this
.
$t
(
'leader.leader_Guide'
);
this
.
isLeaderType
=
this
.
$t
(
'leader.leader_Guide'
);
}
}
}
}
...
@@ -298,8 +301,8 @@
...
@@ -298,8 +301,8 @@
this
.
isOneDay
=
res
.
data
.
data
.
IsOneDay
;
this
.
isOneDay
=
res
.
data
.
data
.
IsOneDay
;
this
.
LineId
=
res
.
data
.
data
.
LineId
;
this
.
LineId
=
res
.
data
.
data
.
LineId
;
this
.
EndDateStr
=
res
.
data
.
data
.
EndDateStr
;
this
.
EndDateStr
=
res
.
data
.
data
.
EndDateStr
;
this
.
IsLeaderOrder
=
res
.
data
.
data
.
IsLeaderOrder
;
this
.
IsLeaderOrder
=
res
.
data
.
data
.
IsLeaderOrder
;
this
.
leaderQueryMsg
.
QTCID
=
res
.
data
.
data
.
TCID
;
this
.
leaderQueryMsg
.
QTCID
=
res
.
data
.
data
.
TCID
;
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
this
.
$message
.
error
(
res
.
data
.
message
)
}
}
...
@@ -307,19 +310,20 @@
...
@@ -307,19 +310,20 @@
});
});
},
},
pal_del
:
function
(
item
)
{
pal_del
:
function
(
item
)
{
var
that
=
this
;
this
.
$confirm
(
this
.
$t
(
'objFill.shifouscglvke'
),
this
.
$t
(
'tips.tips'
),
{
this
.
$confirm
(
this
.
$t
(
'objFill.shifouscglvke'
),
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'pub.sureBtn'
),
confirmButtonText
:
this
.
$t
(
'pub.sureBtn'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
th
is
.
apipost
(
'sellorder_post_DelTravelGuestInfo'
,
{
th
at
.
apipost
(
'sellorder_post_DelTravelGuestInfo'
,
{
GuestId
:
item
.
Id
GuestId
:
item
.
Id
},
res
=>
{
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
th
is
.
$message
.
Success
(
this
.
$t
(
'tips.shanchuchenggong'
))
th
at
.
Success
(
that
.
$t
(
'tips.shanchuchenggong'
))
th
is
.
getData
()
th
at
.
getData
()
}
else
{
}
else
{
th
is
.
$message
.
e
rror
(
res
.
data
.
message
)
th
at
.
E
rror
(
res
.
data
.
message
)
}
}
},
err
=>
{})
},
err
=>
{})
})
})
...
@@ -377,17 +381,20 @@
...
@@ -377,17 +381,20 @@
background-color
:
#e95252
!important
;
background-color
:
#e95252
!important
;
color
:
#fff
;
color
:
#fff
;
}
}
.RL_ListDiv
{
.RL_ListDiv
{
width
:
100%
;
width
:
100%
;
height
:
174px
;
height
:
174px
;
overflow
:
auto
;
overflow
:
auto
;
}
}
.RL_LeaderListDiv
{
.RL_LeaderListDiv
{
width
:
200px
;
width
:
200px
;
height
:
206px
;
height
:
206px
;
margin-left
:
30px
;
margin-left
:
30px
;
border
:
1px
solid
#d1d1d1
;
border
:
1px
solid
#d1d1d1
;
}
}
.RL_infoDiv
{
.RL_infoDiv
{
width
:
260px
;
width
:
260px
;
height
:
140px
;
height
:
140px
;
...
@@ -395,6 +402,7 @@
...
@@ -395,6 +402,7 @@
padding
:
10px
;
padding
:
10px
;
font-size
:
14px
;
font-size
:
14px
;
}
}
.RL_LeaderTitle
{
.RL_LeaderTitle
{
width
:
100%
;
width
:
100%
;
height
:
30px
;
height
:
30px
;
...
@@ -404,6 +412,7 @@
...
@@ -404,6 +412,7 @@
line-height
:
30px
;
line-height
:
30px
;
font-size
:
14px
;
font-size
:
14px
;
}
}
.RL_LeaderName
{
.RL_LeaderName
{
display
:
inline-block
;
display
:
inline-block
;
min-width
:
50px
;
min-width
:
50px
;
...
@@ -414,6 +423,7 @@
...
@@ -414,6 +423,7 @@
float
:
left
;
float
:
left
;
margin-right
:
20px
;
margin-right
:
20px
;
}
}
.passengerSaleList
{
.passengerSaleList
{
width
:
100%
;
width
:
100%
;
}
}
...
@@ -479,7 +489,7 @@
...
@@ -479,7 +489,7 @@
}
}
/*拒签人员*/
/*拒签人员*/
.passengerSaleList_table
.redTr
td
{
.passengerSaleList_table
.redTr
td
{
color
:
#E95252
;
color
:
#E95252
;
}
}
...
...
src/components/Ticketing/TicketManager.vue
View file @
30e913f7
...
@@ -1532,8 +1532,7 @@
...
@@ -1532,8 +1532,7 @@
<span
class=
"iconfont icon-img_yizi"
></span>
<span
class=
"iconfont icon-img_yizi"
></span>
</li>
</li>
<li>
<li>
<p
class=
"_num3"
>
{{
item
.
TicketNum
==
null
?
'0'
:
item
.
TicketNum
}}
<p
class=
"_num3"
>
<template
v-if=
"item.ChangeNum!=0"
>
<el-popover
placement=
"top-start"
title=
"变更记录"
width=
"250"
trigger=
"hover"
>
<el-popover
placement=
"top-start"
title=
"变更记录"
width=
"250"
trigger=
"hover"
>
<table>
<table>
<template
v-for=
"(cItem,cIndex) in item.ChangeList"
>
<template
v-for=
"(cItem,cIndex) in item.ChangeList"
>
...
@@ -1545,10 +1544,10 @@
...
@@ -1545,10 +1544,10 @@
</tr>
</tr>
</
template
>
</
template
>
</table>
</table>
<font
style=
"color:blue"
slot=
"reference"
>
{{item.ChangeNum>0?'+':''}}{{item.ChangeNum}}
<font
style=
"color:blue"
slot=
"reference"
>
{{item.TicketNum==null?'0':item.TicketNum+item.ChangeNum}}
</font>
</font>
</el-popover>
</el-popover>
</template>
</p>
</p>
<p
class=
"_wz"
>
{{$t('Airticket.Air_reservation')}}
</p>
<p
class=
"_wz"
>
{{$t('Airticket.Air_reservation')}}
</p>
</li>
</li>
...
@@ -2091,21 +2090,21 @@
...
@@ -2091,21 +2090,21 @@
:disabled=
"addMsg.TCIDList&&addMsg.TCIDList.length>0"
>
:disabled=
"addMsg.TCIDList&&addMsg.TCIDList.length>0"
>
<
template
v-if=
"addMsg.TCIDList&&addMsg.TCIDList.length>0"
>
<
template
v-if=
"addMsg.TCIDList&&addMsg.TCIDList.length>0"
>
<el-button
slot=
"append"
>
<el-button
slot=
"append"
>
<el-popover
width=
"4
5
0"
>
<el-popover
width=
"4
6
0"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tbody>
<tbody>
<template
v-for=
"(rootItem,rootIndex) in addMsg.ChangeList"
>
<template
v-for=
"(rootItem,rootIndex) in addMsg.ChangeList"
>
<tr
:key=
"rootIndex"
>
<tr
:key=
"rootIndex"
style=
"padding-top:5px;"
>
<td>
<td>
团号:
团号:
<el-select
v-model=
"rootItem.RelationTCID"
filterable
class=
"w180"
>
<el-select
v-model=
"rootItem.RelationTCID"
filterable
class=
"w180"
:suffix-icon=
"''"
>
<el-option
v-for=
"(subItem,subIndex) in
addMsg.
PriceList"
<el-option
v-for=
"(subItem,subIndex) in
choose
PriceList"
:key=
"subItem.TCID+`_`+subIndex"
:value=
"subItem.TCID"
:key=
"subItem.TCID+`_`+subIndex"
:value=
"subItem.TCID"
:label=
"subItem.TCNUM+`(`+subItem.TCID+`)`"
></el-option>
:label=
"subItem.TCNUM+`(`+subItem.TCID+`)`"
></el-option>
</el-select>
</el-select>
</td>
</td>
<td>
<td>
人数:
变更
人数:
<el-input
v-model=
"rootItem.ChangeValue"
class=
"w80"
<el-input
v-model=
"rootItem.ChangeValue"
class=
"w80"
@
keyup
.
native=
"checkInteger(rootItem,'ChangeValue',true)"
>
@
keyup
.
native=
"checkInteger(rootItem,'ChangeValue',true)"
>
</el-input>
</el-input>
...
@@ -2122,12 +2121,18 @@
...
@@ -2122,12 +2121,18 @@
</tbody>
</tbody>
<tfoot>
<tfoot>
<tr>
<tr>
<td
colspan=
"3"
style=
"text-align:center;
margin
-top:10px;"
>
<td
colspan=
"3"
style=
"text-align:center;
padding
-top:10px;"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"点击添加"
placement=
"top-start"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"点击添加"
placement=
"top-start"
>
<i
class=
"el-icon-plus"
style=
"cursor:pointer;"
@
click=
"addChangeTicketNum()"
></i>
<i
class=
"el-icon-plus"
style=
"cursor:pointer;font-size:18px;"
@
click=
"addChangeTicketNum()"
></i>
</el-tooltip>
</el-tooltip>
</td>
</td>
</tr>
</tr>
<tr>
<td
colspan=
"3"
style=
"text-align:left;color:red;"
>
请填写团队变更人数,不是本团机位数,比如:新增机位填2,减少机位填-2.
</td>
</tr>
</tfoot>
</tfoot>
</table>
</table>
<p
slot=
"reference"
class=
"_wz _yiyong"
>
机位变更
</p>
<p
slot=
"reference"
class=
"_wz _yiyong"
>
机位变更
</p>
...
@@ -2985,7 +2990,6 @@
...
@@ -2985,7 +2990,6 @@
TCIDList
:
[],
//已绑定的团期(TCID)
TCIDList
:
[],
//已绑定的团期(TCID)
PriceList
:
[],
//已绑团期列表{TCID,TCNUM等}
PriceList
:
[],
//已绑团期列表{TCID,TCNUM等}
ChangeList
:
[],
//变更列表
ChangeList
:
[],
//变更列表
},
},
//去程
//去程
addGoFlight
:
{
addGoFlight
:
{
...
@@ -3057,9 +3061,7 @@
...
@@ -3057,9 +3061,7 @@
addShow
:
false
,
addShow
:
false
,
command
:
false
,
command
:
false
,
sanmai
:
false
,
sanmai
:
false
,
uploadDoc
:
true
,
uploadDoc
:
true
,
//散卖obj
//散卖obj
sales
:
{
sales
:
{
AirTicketId
:
0
,
AirTicketId
:
0
,
...
@@ -3179,6 +3181,7 @@
...
@@ -3179,6 +3181,7 @@
},
},
userInfo
:
{},
//当前登录用户
userInfo
:
{},
//当前登录用户
BranchList
:
[],
//出团公司
BranchList
:
[],
//出团公司
choosePriceList
:
[],
};
};
},
},
methods
:
{
methods
:
{
...
@@ -3190,31 +3193,35 @@
...
@@ -3190,31 +3193,35 @@
AirticketId
:
0
,
AirticketId
:
0
,
ChangType
:
1
,
ChangType
:
1
,
ChangeValue
:
0
,
ChangeValue
:
0
,
RelationTCID
:
0
,
RelationTCID
:
""
,
}
}
this
.
addMsg
.
ChangeList
.
push
(
tempObj
);
this
.
addMsg
.
ChangeList
.
push
(
tempObj
);
}
}
},
},
//删除绑定数据
//删除绑定数据
deleteChangeTicketNum
(
rootItem
,
index
)
{
deleteChangeTicketNum
(
rootItem
,
index
)
{
var
that
=
this
;
that
.
Confirm
(
"是要要删除?"
,
function
()
{
if
(
rootItem
.
ChangeId
>
0
)
{
if
(
rootItem
.
ChangeId
>
0
)
{
var
dMsg
=
{
var
dMsg
=
{
AirticketId
:
rootItem
.
AirticketId
,
AirticketId
:
rootItem
.
AirticketId
,
ChangeId
:
rootItem
.
ChangeId
,
ChangeId
:
rootItem
.
ChangeId
,
};
};
this
.
apipost
(
that
.
apipost
(
"AirTicket_post_DeleteAirticketChange"
,
dMsg
,
"AirTicket_post_DeleteAirticketChange"
,
dMsg
,
res
=>
{
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
that
.
Success
(
res
.
data
.
message
);
that
.
getList
();
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
);
that
.
Error
(
res
.
data
.
message
);
}
}
},
},
err
=>
{}
err
=>
{}
);
);
}
}
this
.
addMsg
.
ChangeList
.
splice
(
index
,
1
);
that
.
addMsg
.
ChangeList
.
splice
(
index
,
1
);
});
},
},
//生成虚拟团
//生成虚拟团
createTravel
(
item
)
{
createTravel
(
item
)
{
...
@@ -4078,6 +4085,7 @@
...
@@ -4078,6 +4085,7 @@
res
=>
{
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
=
res
.
data
.
data
;
this
.
addMsg
=
res
.
data
.
data
;
this
.
getPriceList
(
this
.
addMsg
)
if
(
this
.
addMsg
.
OpenPlatform
!=
null
)
{
if
(
this
.
addMsg
.
OpenPlatform
!=
null
)
{
if
(
this
.
addMsg
.
OpenPlatform
!=
""
)
{
if
(
this
.
addMsg
.
OpenPlatform
!=
""
)
{
this
.
OpenPlatformStrings
=
this
.
addMsg
.
OpenPlatform
.
split
(
this
.
OpenPlatformStrings
=
this
.
addMsg
.
OpenPlatform
.
split
(
...
@@ -4550,6 +4558,44 @@
...
@@ -4550,6 +4558,44 @@
}
}
);
);
},
},
//获取团期列表
getPriceList
(
item
)
{
this
.
choosePriceList
=
[];
var
qMsg
=
{
pageIndex
:
1
,
pageSize
:
1000
,
LineId
:
0
,
StartGroupDate
:
""
,
EndGroupDate
:
""
,
TeamType
:
0
,
QTeamType
:
"0,1,4,5"
}
if
(
item
)
{
if
(
item
.
LineId
)
{
qMsg
.
LineId
=
item
.
LineId
;
}
if
(
item
.
PriceList
&&
item
.
PriceList
.
length
>
0
)
{
qMsg
.
StartGroupDate
=
item
.
PriceList
[
0
].
QStartDate
;
qMsg
.
EndGroupDate
=
item
.
PriceList
[
0
].
QStartDate
;
}
}
if
(
qMsg
.
StartGroupDate
!=
''
&&
qMsg
.
EndGroupDate
!=
''
)
{
this
.
apipost
(
"travel_get_GetTravelPrciePageList_V2"
,
qMsg
,
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempArray
=
res
.
data
.
data
.
pageData
;
if
(
tempArray
&&
tempArray
.
length
>
0
)
{
tempArray
.
forEach
(
tItem
=>
{
var
pObj
=
{
TCID
:
tItem
.
TCID
,
TCNUM
:
tItem
.
TCNUM
,
}
this
.
choosePriceList
.
push
(
pObj
);
})
}
}
});
}
}
},
},
mounted
()
{
mounted
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
userInfo
=
this
.
getLocalStorage
();
...
...
src/components/TravelManager/Ticket/TravelticketManager.vue
View file @
30e913f7
...
@@ -782,7 +782,7 @@
...
@@ -782,7 +782,7 @@
<span
class=
"iconfont icon-img_yizi"
></span>
<span
class=
"iconfont icon-img_yizi"
></span>
</li>
</li>
<li>
<li>
<p
class=
"_num1"
>
{{
item
.
TicketNum
==
null
?
'0'
:
item
.
Ticket
Num
}}
</p>
<p
class=
"_num1"
>
{{
item
.
TicketNum
+
item
.
Change
Num
}}
</p>
<p
class=
"_wz"
>
{{
$t
(
'Airticket.Air_reservation'
)
}}
</p>
<p
class=
"_wz"
>
{{
$t
(
'Airticket.Air_reservation'
)
}}
</p>
</li>
</li>
<li>
<li>
...
...
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
30e913f7
...
@@ -1173,12 +1173,12 @@
...
@@ -1173,12 +1173,12 @@
<div
class=
"TC_SeatList"
v-if=
"item.BindNum > 0"
style=
"color: red"
>
<div
class=
"TC_SeatList"
v-if=
"item.BindNum > 0"
style=
"color: red"
>
{{ $t("Operation.Op_bindNum") }}: {{ item.BindNum }}
{{ $t("Operation.Op_bindNum") }}: {{ item.BindNum }}
</div>
</div>
<el-popover
placement=
"top-start"
title=
"变更记录"
width=
"260"
trigger=
"hover"
>
<el-popover
placement=
"top-start"
title=
"变更记录"
width=
"260"
trigger=
"hover"
v-if=
"item.NoBindNum > 0"
>
<table>
<table>
<
template
v-for=
"(subItem,subIndex) in item.TicketList"
>
<
template
v-for=
"(subItem,subIndex) in item.TicketList"
>
<template
v-for=
"(changeItem,changeIndex) in subItem.SubList"
>
<template
v-for=
"(changeItem,changeIndex) in subItem.SubList"
>
<template
v-if=
"changeItem.ChangeModel&&changeItem.ChangeModel.ChangeValue!=0"
>
<template
v-if=
"changeItem.ChangeModel&&changeItem.ChangeModel.ChangeValue!=0"
>
<tr>
<tr
:key=
"`d_`+index+`s_`+subIndex+`t_`+changeIndex"
>
<td>
<td>
{{
changeItem
.
TCNUM
}}
(
{{
changeItem
.
TCID
}}
)
{{
changeItem
.
TCNUM
}}
(
{{
changeItem
.
TCID
}}
)
{{
changeItem
.
ChangeModel
.
ChangeValue
>
0
?
'+'
:
''
}}
{{
changeItem
.
ChangeModel
.
ChangeValue
>
0
?
'+'
:
''
}}
...
@@ -1189,8 +1189,7 @@
...
@@ -1189,8 +1189,7 @@
</template>
</template>
</template>
</template>
</table>
</table>
<div
class=
"TC_SeatList"
v-if=
"item.NoBindNum > 0"
<div
class=
"TC_SeatList"
style=
"color: blue;font-weight:bold;cursor:pointer;"
slot=
"reference"
>
style=
"color: blue;font-weight:bold;cursor:pointer;"
slot=
"reference"
>
尚未绑定: {{ item.NoBindNum }}
尚未绑定: {{ item.NoBindNum }}
</div>
</div>
</el-popover>
</el-popover>
...
@@ -1722,14 +1721,22 @@
...
@@ -1722,14 +1721,22 @@
<
template
v-else-if=
"subItem.TravelTicketType==3"
>
<
template
v-else-if=
"subItem.TravelTicketType==3"
>
<font
style=
"color:red;"
>
{{
$t
(
'objFill.v101.lspiao'
)
}}
</font>
<font
style=
"color:red;"
>
{{
$t
(
'objFill.v101.lspiao'
)
}}
</font>
</
template
>
</
template
>
总机位:
<font
style=
"font-weight:bold;"
>
{{subItem.TicketNum}}
</font>
<font>
总机位:
<font
style=
"font-weight:bold;"
>
{{item.TicketNum}}
</font>
<
template
v-if=
"subItem.ChangeNum!=0"
>
<
template
v-if=
"subItem.ChangeNum!=0"
>
<font
style=
"font-weight:bold;"
>
{{
subItem
.
ChangeNum
>
0
?
'+'
:
''
}}{{
subItem
.
ChangeNum
}}
=
{{
item
.
TicketNum
}}
</font>
<font
style=
"font-weight:bold;"
>
=[
{{
subItem
.
TicketNum
}}{{
subItem
.
ChangeNum
>
0
?
'+'
:
''
}}{{
subItem
.
ChangeNum
}}
]
</font>
</
template
>
</
template
>
</font>
;
;
<
template
v-for=
"thirdItem in subItem.SubList"
>
<
template
v-for=
"(thirdItem,thirdIndex) in subItem.SubList"
>
{{
thirdItem
.
TCNUM
}}
(
{{
thirdItem
.
TCID
}}
) 绑定:
<font
style=
"font-weight:bold;color:blue;"
>
<font
style=
"color:blue;cursor:pointer;"
@
click=
"gotoTCList(thirdItem)"
>
【
{{
thirdItem
.
BindNum
}}
</font>
,
{{
thirdItem
.
TCNUM
}}
(
{{
thirdItem
.
TCID
}}
) 绑定:
<font
style=
"font-weight:bold;"
>
{{
thirdItem
.
BindNum
}}
】
</font>
</font>
<template
v-if=
"thirdIndex!=subItem.SubList.Length-1"
>
,
</
template
>
</template>
</template>
{{subItem.TicketOpRemark}}
{{subItem.TicketOpRemark}}
【{{subItem.TicketCreateByName}}】
【{{subItem.TicketCreateByName}}】
...
...
src/components/TravelManager/TravelList/TravelControlListSale.vue
View file @
30e913f7
...
@@ -776,17 +776,15 @@
...
@@ -776,17 +776,15 @@
<div
class=
"TC_SeatList"
>
{{$t('Airticket.Air_firstClass')}}:{{item.FSeat}}
</div>
<div
class=
"TC_SeatList"
>
{{$t('Airticket.Air_firstClass')}}:{{item.FSeat}}
</div>
<div
class=
"TC_SeatList"
>
{{$t('Airticket.Air_businessClass')}}:{{item.CSeat}}
</div>
<div
class=
"TC_SeatList"
>
{{$t('Airticket.Air_businessClass')}}:{{item.CSeat}}
</div>
<div
class=
"TC_SeatList"
>
{{$t('Airticket.Air_EconomyClass')}}:{{item.YSeat}}
</div>
<div
class=
"TC_SeatList"
>
{{$t('Airticket.Air_EconomyClass')}}:{{item.YSeat}}
</div>
<div
class=
"TC_SeatList"
v-if=
"item.BindNum>0"
style=
"color:red;"
>
{{$t('Operation.Op_bindNum')}}:
<el-popover
placement=
"top-start"
title=
"变更记录"
width=
"260"
trigger=
"hover"
v-if=
"item.NoBindNum > 0"
>
{{item.BindNum}}
</div>
<el-popover
placement=
"top-start"
title=
"变更记录"
width=
"260"
trigger=
"hover"
>
<table>
<table>
<
template
v-for=
"(subItem,subIndex) in item.TicketList"
>
<
template
v-for=
"(subItem,subIndex) in item.TicketList"
>
<template
v-for=
"(changeItem,changeIndex) in subItem.SubList"
>
<template
v-for=
"(changeItem,changeIndex) in subItem.SubList"
>
<template
v-if=
"changeItem.ChangeModel&&changeItem.ChangeModel.ChangeValue!=0"
>
<template
v-if=
"changeItem.ChangeModel&&changeItem.ChangeModel.ChangeValue!=0"
>
<tr>
<tr
:key=
"`d_`+index+`s_`+subIndex+`t_`+changeIndex"
>
<td>
<td>
{{
changeItem
.
TCNUM
}}
(
{{
changeItem
.
TCID
}}
)
{{
changeItem
.
TCNUM
}}
(
{{
changeItem
.
TCID
}}
)
{{
changeItem
.
ChangeModel
.
ChangeValue
>
0
?
'+'
:
'
-
'
}}
{{
changeItem
.
ChangeModel
.
ChangeValue
>
0
?
'+'
:
''
}}
{{
changeItem
.
ChangeModel
.
ChangeValue
}}
人
{{
changeItem
.
ChangeModel
.
ChangeValue
}}
人
</td>
</td>
</tr>
</tr>
...
@@ -794,8 +792,7 @@
...
@@ -794,8 +792,7 @@
</template>
</template>
</template>
</template>
</table>
</table>
<div
class=
"TC_SeatList"
v-if=
"item.NoBindNum > 0"
<div
class=
"TC_SeatList"
style=
"color: blue;font-weight:bold;cursor:pointer;"
slot=
"reference"
>
style=
"color: blue;font-weight:bold;cursor:pointer;"
slot=
"reference"
>
尚未绑定: {{ item.NoBindNum }}
尚未绑定: {{ item.NoBindNum }}
</div>
</div>
</el-popover>
</el-popover>
...
@@ -844,7 +841,7 @@
...
@@ -844,7 +841,7 @@
<tr>
<tr>
<td>
<td>
{{
changeItem
.
TCNUM
}}
(
{{
changeItem
.
TCID
}}
)
{{
changeItem
.
TCNUM
}}
(
{{
changeItem
.
TCID
}}
)
{{
changeItem
.
ChangeModel
.
ChangeValue
>
0
?
'+'
:
'
-
'
}}
{{
changeItem
.
ChangeModel
.
ChangeValue
>
0
?
'+'
:
''
}}
{{
changeItem
.
ChangeModel
.
ChangeValue
}}
人
{{
changeItem
.
ChangeModel
.
ChangeValue
}}
人
</td>
</td>
</tr>
</tr>
...
@@ -1225,14 +1222,22 @@
...
@@ -1225,14 +1222,22 @@
<
template
v-else-if=
"subItem.TravelTicketType==3"
>
<
template
v-else-if=
"subItem.TravelTicketType==3"
>
<font
style=
"color:red;"
>
{{
$t
(
'objFill.v101.lspiao'
)
}}
</font>
<font
style=
"color:red;"
>
{{
$t
(
'objFill.v101.lspiao'
)
}}
</font>
</
template
>
</
template
>
总机位:
<font
style=
"font-weight:bold;"
>
{{subItem.TicketNum}}
</font>
<font>
总机位:
<font
style=
"font-weight:bold;"
>
{{item.TicketNum}}
</font>
<
template
v-if=
"subItem.ChangeNum!=0"
>
<
template
v-if=
"subItem.ChangeNum!=0"
>
<font
style=
"font-weight:bold;"
>
{{
subItem
.
ChangeNum
>
0
?
'+'
:
'-'
}}{{
subItem
.
ChangeNum
}}
=
{{
item
.
TicketNum
}}
</font>
<font
style=
"font-weight:bold;"
>
=[
{{
subItem
.
TicketNum
}}{{
subItem
.
ChangeNum
>
0
?
'+'
:
''
}}{{
subItem
.
ChangeNum
}}
]
</font>
</
template
>
</
template
>
</font>
;
;
<
template
v-for=
"thirdItem in subItem.SubList"
>
<
template
v-for=
"(thirdItem,thirdIndex) in subItem.SubList"
>
{{
thirdItem
.
TCNUM
}}
(
{{
thirdItem
.
TCID
}}
) 绑定:
<font
style=
"font-weight:bold;color:blue;"
>
<font
style=
"color:blue;cursor:pointer;"
@
click=
"gotoTCList(thirdItem)"
>
【
{{
thirdItem
.
BindNum
}}
</font>
,
{{
thirdItem
.
TCNUM
}}
(
{{
thirdItem
.
TCID
}}
) 绑定:
<font
style=
"font-weight:bold;"
>
{{
thirdItem
.
BindNum
}}
】
</font>
</font>
<template
v-if=
"thirdIndex!=subItem.SubList.Length-1"
>
,
</
template
>
</template>
</template>
{{subItem.TicketOpRemark}}
{{subItem.TicketOpRemark}}
【{{subItem.TicketCreateByName}}】
【{{subItem.TicketCreateByName}}】
...
...
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